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?
M
e
n
u