Style
Collections & Pattern Matching
Organization
Concepts & Principles

100

Action of producing a resulting value that does not need to be explicitly written in Scala
What is a return statement?

100

A container that may or may not hold something.
What is Option?

100

The name of Okanagan Spring's brewmaster.
Who is Stefan Tobler?

100

Every construction is an expression and thus yields a value
What is expression-oriented programming?

200

A change in state of local variables that often has side-effecting operations, and is highly undesirable in the state of an object.
What is mutation?

200

A collection that contains a lookup data structure.
What is Map?

200

The base type of all reference types and alias of java.lang.Object.
What is scala.AnyRef?

200

Strategy that delays evaluation of an expression until its value is needed and avoids repeated evaluations.
What is lazy evaluation?

300

Any beer that is fresh and unaged.
What is the meaning of "mild" beer?

300

Syntax used to pattern match a "wildcard" segment of a List. (May accept two answers...depending on use...)
What is _* ?

300

When imported, all members of this are automatically available in scope.
What is a package?

300

Beer with a predominantly malty palate.
What is "low gravity" beer?

400

During this war stronger beer was exempt from these rules, and brewers produced less Milds in pursuit of higher profits.
What is WWI?

400

Conceptually, pattern matching employs this to break down data structures into parts that are easier to conceive.
What is decomposition?

400

Has the same name as a class or trait that has exclusive access rights to private methods or fields.
What is a companion object?

400

Functions that take other functions as parameters, or may return a function.
What are higher-order functions?

500

Helpful to prevent long lines of code, this is used locally to simplify complex expressions. On a local level, helps with binding.
What are local value bindings?

500

Problem solving! Define re in the following: "path/to/20" match { case re(number) => number * 2 }
What is val re = """^path/to/(\d+)$""".r ?

500

Similar to Java interfaces and have non-abstract members.
What is a trait?

500

Concept where type variables may not be instantiated with polymorphic types, AKA ML-style.
What is rank-1 polymorphism?