Contents
Chapter 1: Getting Started with Scala
Interoperability and Seamless Integration with Java
Language for the Java Virtual Machine
Scala at the Command Line and Scala Scripts
Arrays, Lists, Ranges, and Tuples
Chapter 3: Object Orientation in Scala
Traits, Interfaces, and Mixins
Object, Static, and Singletons
Functions, Anonymous Inner Classes, and Lambdas/Procs
Chapter 4: Functional Programming in Scala
Expression-Oriented Programming
Function Literal/Anonymous Function
First Class Function and Higher Order Function
Tail Calls and Tail Call Optimization
Call-by-Name, Call-by-Value, and General Laziness
Pattern Matching and Case Classes
Nested Pattern Matching in Case Classes
Object-Oriented and Functional Tensions
package scala.collection.immutable
package scala.collection.mutable
Using Immutable Collection Classes
Chapter 9: Scala and Java Interoperability
Translating Java Classes to Scala Classes
JavaBeans Specification Compliant Scala Classes
Java Interfaces and Scala Traits
Java Static Members and Scala Objects
Chapter 10: DSL and Parser Combinator
Domain Specific Language (DSL)
Higher-Order Functions and Combinators
Chapter 11: Simple Build Tool - SBT
LibraryDependencies and Resolvers
Chapter 12: Scala for Web Application
Getting Started with the Standalone Distribution
HelloWorld Java Application with Play
Getting Started with the Activator Distribution
Actions, Controllers, and Results
Chapter 13: Scala Best Practices
Recognizing the Functional Style
Use Options Instead of Null Testing