封面
版权信息
内容简介
推荐语
译者序
序
引言
第1章 一门可伸缩的语言
1.1 一门按需伸缩的语言
1.2 是什么让Scala能屈能伸
1.3 为什么要用Scala
1.4 Scala寻根
1.5 结语
第2章 Scala入门
第1步 使用Scala解释器
第2步 定义变量
第3步 定义函数
第4步 编写Scala脚本
第5步 用while做循环;用if做判断
第6步 用foreach方法和for-do遍历
结语
第3章 Scala入门(续)
第7步 用类型参数化数组
第8步 使用列表
第9步 使用元组
第10步 使用集和映射
第11步 识别函数式编程风格
第12步 用map方法和for-yield变换
结语
第4章 类和对象
4.1 类、字段和方法
4.2 分号推断
4.3 单例对象
4.4 样例类
4.5 Scala应用程序
4.6 结语
第5章 基础类型和操作
5.1 一些基础类型
5.2 字面量
5.3 字符串插值
5.4 操作符即方法
5.5 算术操作
5.6 关系和逻辑操作
5.7 位运算操作
5.8 对象相等性
5.9 操作符优先级和结合律
5.10 富包装类
5.11 结语
第6章 函数式对象
6.1 Rational类的规格定义
6.2 构建Rational实例
6.3 重新实现toString方法
6.4 检查前提条件
6.5 添加字段
6.6 自引用
6.7 辅助构造方法
6.8 私有字段和方法
6.9 定义操作符
6.10 Scala中的标识符
6.11 方法重载
6.12 扩展方法
6.13 注意事项
6.14 结语
第7章 内建的控制结构
7.1 if表达式
7.2 while循环
7.3 for表达式
7.4 用try表达式实现异常处理
7.5 match表达式
7.6 没有break和continue的日子
7.7 变量作用域
7.8 对指令式代码进行重构
7.9 结语
第8章 函数和闭包
8.1 方法
- APP免费
8.2 局部函数
- APP免费
8.3 一等函数
- APP免费
8.4 函数字面量的简写形式
- APP免费
8.5 占位符语法
- APP免费
8.6 部分应用的函数
- APP免费
8.7 闭包
- APP免费
8.8 特殊的函数调用形式
- APP免费
8.9 SAM类型
- APP免费
8.10 尾递归
- APP免费
8.11 结语
- APP免费
第9章 控制抽象
- APP免费
9.1 减少代码重复
- APP免费
9.2 简化调用方代码
- APP免费
9.3 柯里化
- APP免费
9.4 编写新的控制结构
- APP免费
9.5 传名参数
- APP免费
9.6 结语
- APP免费
第10章 组合和继承
- APP免费
10.1 一个二维的布局类库
- APP免费
10.2 抽象类
- APP免费
10.3 定义无参方法
- APP免费
10.4 扩展类
- APP免费
10.5 重写方法和字段
- APP免费
10.6 定义参数化字段
- APP免费
10.7 调用超类构造方法
- APP免费
10.8 使用override修饰符
- APP免费
10.9 多态和动态绑定
- APP免费
10.10 声明final成员
- APP免费
10.11 使用组合和继承
- APP免费
10.12 实现above、beside和toString方法
- APP免费
10.13 定义工厂对象
- APP免费
10.14 增高和增宽
- APP免费
10.15 放在一起
- APP免费
10.16 结语
- APP免费
第11章 特质
- APP免费
11.1 特质如何工作
- APP免费
11.2 瘦接口和富接口
- APP免费
11.3 作为可叠加修改的特质
- APP免费
11.4 为什么不用多重继承
- APP免费
11.5 特质参数
- APP免费
11.6 结语
- APP免费
第12章 包、引入和导出
- APP免费
12.1 将代码放进包里
- APP免费
12.2 对相关代码的精简访问
- APP免费
12.3 引入
- APP免费
12.4 隐式引入
- APP免费
12.5 访问修饰符
- APP免费
12.6 顶层定义
- APP免费
12.7 导出
- APP免费
12.8 结语
- APP免费
第13章 样例类和模式匹配
- APP免费
13.1 一个简单的例子
- APP免费
13.2 模式的种类
- APP免费
13.3 模式守卫
- APP免费
13.4 模式重叠
- APP免费
13.5 密封类
- APP免费
13.6 对Option进行模式匹配
- APP免费
13.7 到处都是模式
- APP免费
13.8 一个复杂的例子
- APP免费
13.9 结语
- APP免费
第14章 使用列表
- APP免费
14.1 List字面量
- APP免费
14.2 List类型
- APP免费
14.3 构建列表
- APP免费
14.4 列表的基本操作
- APP免费
14.5 列表模式
- APP免费
14.6 List类的初阶方法
- APP免费
14.7 List类的高阶方法
- APP免费
14.8 List对象的方法
- APP免费
14.9 同时处理多个列表
- APP免费
14.10 理解Scala的类型推断算法
- APP免费
14.11 结语
- APP免费
第15章 使用其他集合类
- APP免费
15.1 序列
- APP免费
15.2 集和映射
- APP免费
15.3 在可变和不可变集合之间选择
- APP免费
15.4 初始化集合
- APP免费
15.5 元组
- APP免费
15.6 结语
- APP免费
第16章 可变对象
- APP免费
16.1 什么样的对象是可变的
- APP免费
16.2 可被重新赋值的变量和属性
- APP免费
16.3 案例分析:离散事件模拟
- APP免费
16.4 用于描述数字电路的语言
- APP免费
16.5 模拟API
- APP免费
16.6 电路模拟
- APP免费
16.7 结语
- APP免费
第17章 Scala的继承关系
- APP免费
17.1 Scala的类继承关系
- APP免费
17.2 基本类型的实现机制
- APP免费
17.3 底类型
- APP免费
17.4 定义自己的值类型
- APP免费
17.5 交集类型
- APP免费
17.6 并集类型
- APP免费
17.7 透明特质
- APP免费
17.8 结语
- APP免费
第18章 类型参数化
- APP免费
18.1 函数式队列
- APP免费
18.2 信息隐藏
- APP免费
18.3 型变注解
- APP免费
18.4 检查型变注解
- APP免费
18.5 下界
- APP免费
18.6 逆变
- APP免费
18.7 上界
- APP免费
18.8 结语
- APP免费
第19章 枚举
- APP免费
19.1 枚举数据类型
- APP免费
19.2 代数数据类型
- APP免费
19.3 泛化代数数据类型
- APP免费
19.4 为什么说ADT是代数数据类型
- APP免费
19.5 结语
- APP免费
第20章 抽象成员
- APP免费
20.1 抽象成员概览
- APP免费
20.2 类型成员
- APP免费
20.3 抽象的val
- APP免费
20.4 抽象的var
- APP免费
20.5 初始化抽象的val
- APP免费
20.6 抽象类型
- APP免费
20.7 路径依赖类型
- APP免费
20.8 改良类型
- APP免费
20.9 案例分析:货币
- APP免费
20.10 结语
- APP免费
第21章 上下文参数
- APP免费
21.1 上下文参数的工作原理
- APP免费
21.2 参数化的上下文参数类型
- APP免费
21.3 匿名上下文参数
- APP免费
21.4 作为类型族的参数化上下文参数
- APP免费
21.5 上下文参数的引入
- APP免费
21.6 上下文参数的规则
- APP免费
21.7 当有多个上下文参数可选时
- APP免费
21.8 调试上下文参数
- APP免费
21.9 结语
- APP免费
第22章 扩展方法
- APP免费
22.1 扩展方法的基础
- APP免费
22.2 泛化的扩展方法
- APP免费
22.3 成组的扩展方法
- APP免费
22.4 使用类型族
- APP免费
22.5 针对上下文参数的扩展方法
- APP免费
22.6 Scala如何查找扩展方法
- APP免费
22.7 结语
- APP免费
第23章 类型族
- APP免费
23.1 为什么要用类型族
- APP免费
23.2 上下文界定
- APP免费
23.3 主方法
- APP免费
23.4 跨界相等性
- APP免费
23.5 隐式转换
- APP免费
23.6 类型族案例分析:JSON序列化
- APP免费
23.7 结语
- APP免费
第24章 深入集合类
- APP免费
24.1 可变和不可变集合
- APP免费
24.2 集合的一致性
- APP免费
24.3 Iterable特质
- APP免费
24.4 序列型特质Seq、IndexedSeq和LinearSeq
- APP免费
24.5 集
- APP免费
24.6 映射
- APP免费
24.7 具体的不可变集合类
- APP免费
24.8 具体的可变集合类
- APP免费
24.9 数组
- APP免费
24.10 字符串
- APP免费
24.11 性能特征
- APP免费
24.12 相等性
- APP免费
24.13 视图
- APP免费
24.14 迭代器
- APP免费
24.15 从头创建集合
- APP免费
24.16 Java和Scala集合互转
- APP免费
24.17 结语
- APP免费
第25章 断言和测试
- APP免费
25.1 断言
- APP免费
25.2 用Scala写测试
- APP免费
25.3 翔实的失败报告
- APP免费
25.4 作为规格说明的测试
- APP免费
25.5 基于属性的测试
- APP免费
25.6 组织和运行测试
- APP免费
25.7 结语
- APP免费
术语表
- APP免费
关于作者
- APP免费
封底
更新时间:2022-05-06 15:53:19