preface. part ⅰ.core scala 1.getting started with the scalable language installing scala using the scala repl summary exercises 2.working with data: literals, values, variables, and types values variables naming types numeric data types strings an overview of scala types tuples summary exercises 3.expressions and conditionals expressions defining values and variables with expressions expression blocks statements if..else expression blocks if expressions if—else expressions match expressions matching with wildcard patterns matching with pattern guards matching types with pattern variables loops iterator guards nested iterators value binding while and do/while loops summary exercises 4.functions procedures functions with empty parentheses function invocation with expression blocks recursive functions nested functions calling functions with named parameters parameters with default values vararg parameters parameter groups type parameters methods and operators writing readable functions summary exercises 5.first—class functions function types and values higher—order functions function literals placeholder syntax partially applied functions and currying by—name parameters partial functions invoking higher—order functions with function literal blocks summary exercises 6.common collections lists, sets, and maps what's in a list? the cons operator list arithmetic mapping lists reducing lists converting collections java and scala collection compatibility pattern matching with collections summary exercises 7.m0te collections mutable collections creating new mutable collections creating mutable collections from immutable ones using collection builders arrays seq and sequences streams monadic collections option collections try collections future collections summary exercises part ⅱ.object—oriented scala 8.classes defining classes more class types abstract classes anonymous classes more field and method types overloaded methods apply methods lazy values packaging accessing packaged classes packaging syntax privacy controls privacy access modifiers final and sealed classes summary exercises 9.objects, case classes, and traits objects apply methods and companion objects command—line applications with objects case classes traits self types instantiation with traits importing instance members summary break——configuring your first scala project exercises 10.advancefl typing tuple and function value classes implicit parameters implicit classes types type aliases abstract types bounded types type variance package objects summary questions a.reserved words index