第1章 简介
1.1 为何选择Scala
1.2 何为Scala
1.3 函数式编程
1.4 本书的内容
1.5 本书面向的读者
1.6 致谢
第2章 起步
2.1 下载Scala
2.2 安装Scala
2.2.1 在Windows上安装Scala
2.2.2 在类UNIX系统上安装Scala
2.3 让Scala跑起来
2.4 命令行上的Scala
2.5 把Scala代码当作脚本运行
2.5.1 在类UNIX系统上作为脚本运行
2.5.2 在Windows上作为脚本运行
2.6 在IDE里面运行Scala
2.7 编译Scala
第3章 Scala步入正轨
3.1 把Scala当作简洁的Java
3.2 Java基本类型对应的Scala类
3.3 元组与多重赋值
3.4 字符串与多行原始字符串
3.5 自适应的默认做法
3.6 运算符重载
3.7 Scala带给Java程序员的惊奇
3.7.1 赋值的结果
3.7.2 Scala的==
3.7.3 分号是半可选的
3.7.4 默认的访问修饰符
3.7.5 默认的访问修饰符以及如何修改
3.7.6 Scala的Protected
3.7.7 细粒度访问控制
3.7.8 避免显式return
第4章 Scala的类
4.1 创建类
4.2 定义字段、方法和构造函数
4.3 类继承
4.4 单例对象
4.5 独立对象和伴生对象
4.6 Scala中的static
第5章 自适应类型
5.1 容器和类型推演
5.2 Any类型
5.3 关于Nothing的更多情况
5.4 Option类型
5.5 方法返回类型推演
5.6 传递变参
5.7 参数化类型的可变性
第6章 函数值和闭包
6.1 从普通函数迈向高阶函数
6.2 函数值
6.3 具有多参数的函数值
6.4 Curry化
6.5 重用函数值
6.6 参数的位置记法
6.7 Execute Around Method模式
6.8 偏应用函数
6.9 闭包
第7章 Trait和类型转换
7.1 Trait
7.2 选择性混入
7.3 以trait进行装饰
7.4 Trait方法的延迟绑定
7.5 隐式类型转换
第8章 使用容器
8.1 常见的Scala容器
8.2 使用Set
8.3 使用Map
8.4 使用List
8.5 for表达式
第9章 模式匹配和正则表达式
9.1 匹配字面量和常量
9.2 匹配通配符
9.3 匹配元组和列表
9.4 类型和卫述句的匹配
9.5 case表达式里的模式变量和常量
9.6 对XML片段进行模式匹配
9.7 使用case类进行模式匹配
9.8 使用提取器进行匹配
9.9 正则表达式
9.10 把正则表达式当做提取器
第10章 并发编程
10.1 促进不变性
10.2 使用Actor的并发
10.3 消息传递
10.4 Actor类
10.5 actor方法
10.6 receive和receiveWithin方法
10.7 react和reactWithin方法
10.8 loop和loopWhile
10.9 控制线程执行
10.10 在各种接收方法中选择
第11章 与Java互操作
11.1 在Scala里使用Scala类
11.2 在Scala里使用Java类
11.3 在Java里使用Scala类
11.3.1 有普通函数和高阶函数的Scala类
11.3.2 同trait一起工作
11.3.3 单例对象和伴生对象
11.4 继承类
第12章 用Scala做单元测试
12.1 使用JUnit
12.2 使用ScalaTest
12.3 以Canary测试开始
12.4 使用Runner
12.5 Asserts
12.6 异常测试
12.7 在测试间共享代码
12.7.1 用BeforeAndAfter共享代码
12.7.2 用闭包共享代码
12.8 FunSuite的函数式风格
12.9 用JUnit运行ScalaTest
第13章 异常处理
13.1 异常处理
13.2 注意catch顺序
第14章 使用Scala
14.1 净资产应用实例
14.2 获取用户输入
14.3 读写文件
14.4 XML,作为一等公民
14.5 读写XML
14.6 从Web获取股票价格
14.7 让净资产应用并发
14.8 为净资产应用增加GUI
附录A Web资源
^ 收 起