封面
版权信息
O'Reilly Media,Inc.介绍
译者序
前言
第1章 命令行
1.1 初识Scala REPL
1.2 在REPL中使用源代码和JAR文件
1.3 初识Ammonite REPL
1.4 scalac和scala命令
1.5 反编译Scala代码
1.6 运行JAR文件
第2章 字符串
2.1 字符串的相等性判断
2.2 多行字符串的创建
2.3 字符串的分割
2.4 字符串的变量代入
2.5 字符串输出的格式化
2.6 字符串的逐个字符处理
2.7 字符串的模式查找
2.8 字符串的模式替换
2.9 使用模式匹配提取字符串
2.10 访问字符串中的单个字符
2.11 自定义字符串插值器
2.12 创建随机字符串
第3章 数值和日期
- APP免费
3.1 将字符串解析为数值
- APP免费
3.2 数值类型间的转换
- APP免费
3.3 覆盖默认的数值类型
- APP免费
3.4 ++和--的替代方案
- APP免费
3.5 浮点数的比较
- APP免费
3.6 处理大数值
- APP免费
3.7 生成随机数
- APP免费
3.8 数值和货币的格式化
- APP免费
3.9 创建新的日期和时间实例
- APP免费
3.10 计算日期的差值
- APP免费
3.11 日期的格式化
- APP免费
3.12 将字符串解析为日期
- APP免费
第4章 控制结构
- APP免费
4.1 for循环
- APP免费
4.2 多重for循环
- APP免费
4.3 for循环中的守卫语句
- APP免费
4.4 集合中的for/yield
- APP免费
4.5 Scala中的“三元操作符”
- APP免费
4.6 match表达式
- APP免费
4.7 case的多条件匹配
- APP免费
4.8 将match表达式的结果分配给变量
- APP免费
4.9 访问match表达式的默认值
- APP免费
4.10 match表达式与模式匹配
- APP免费
4.11 match表达式与枚举和样例类
- APP免费
4.12 case中的守卫语句
- APP免费
4.13 match表达式与isInstanceOf
- APP免费
4.14 match表达式与List
- APP免费
4.15 用try/catch匹配一个或多个异常
- APP免费
4.16 try/catch/finally
- APP免费
4.17 创建自定义控制结构
- APP免费
第5章 类
- APP免费
5.1 挑选合适的领域建模工具
- APP免费
5.2 创建主构造函数
- APP免费
5.3 控制构造函数字段的可见性
- APP免费
5.4 定义辅助构造函数
- APP免费
5.5 定义私有的主构造函数
- APP免费
5.6 构造函数参数的默认值
- APP免费
5.7 类继承时的构造函数
- APP免费
5.8 调用父类的构造函数
- APP免费
5.9 定义equals方法(对象相等性)
- APP免费
5.10 阻止生成访问方法和修改方法
- APP免费
5.11 覆盖默认的访问方法和修改方法
- APP免费
5.12 将代码块或函数赋值给惰性字段
- APP免费
5.13 设置未初始化的var字段
- APP免费
5.14 样例类产生的模板代码
- APP免费
5.15 定义样例类的辅助构造函数
- APP免费
第6章 特质和枚举
- APP免费
6.1 特质的接口用法
- APP免费
6.2 定义特质的抽象字段
- APP免费
6.3 特质的抽象类用法
- APP免费
6.4 特质的混入用法
- APP免费
6.5 多特质同名方法处理与super关键字
- APP免费
6.6 限制特质的拓展(仅支持特定类型的子类)
- APP免费
6.7 限制特质的拓展(仅支持具有特定方法的类型)
- APP免费
6.8 限制特质的拓展(仅支持特定的类)
- APP免费
6.9 使用参数化特质
- APP免费
6.10 特质的构造参数
- APP免费
6.11 特质与模块
- APP免费
6.12 用枚举创建命名值的集
- APP免费
6.13 用枚举建模ADT
- APP免费
第7章 对象
- APP免费
7.1 对象的强制转换
- APP免费
7.2 用classOf方法传递Class类型
- APP免费
7.3 用object创建单例对象
- APP免费
7.4 用伴生对象创建静态成员
- APP免费
7.5 用apply方法作为构造函数
- APP免费
7.6 用apply方法实现静态工厂
- APP免费
7.7 将特质具体化成对象
- APP免费
7.8 unapply方法与模式匹配
- APP免费
第8章 方法
- APP免费
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 扩展方法
- APP免费
第9章 包和导入
- APP免费
9.1 大括号风格的包语法
- APP免费
9.2 导入一个或多个成员
- APP免费
9.3 导入并重命名成员
- APP免费
9.4 导入时隐藏类
- APP免费
9.5 导入静态成员
- APP免费
9.6 无处不在的导入语句
- APP免费
9.7 导入given
- 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 实现函数式错误处理
- APP免费
10.9 实际案例:在算法中传递函数
- APP免费
10.10 实际案例:函数式领域建模
- APP免费
第11章 集合:介绍
- APP免费
11.1 选择合适的集合类
- APP免费
11.2 集合的性能对比
- APP免费
11.3 不可变集合与可变变量
- APP免费
11.4 创建惰性视图
- APP免费
第12章 集合:序列类
- APP免费
12.1 Vector
- APP免费
12.2 创建并填充List
- APP免费
12.3 List的添加操作
- APP免费
12.4 List和ListBuffer的删除操作
- APP免费
12.5 使用ListBuffer创建可变列表
- APP免费
12.6 LazyList
- APP免费
12.7 ArrayBuffer
- APP免费
12.8 Array和ArrayBuffer的删除操作
- APP免费
12.9 创建并更新数组
- APP免费
12.10 创建多维数组
- APP免费
12.11 数组排序
- APP免费
第13章 集合:常见的序列方法
- APP免费
13.1 选择合适的集合方法
- APP免费
13.2 foreach方法
- APP免费
13.3 迭代器
- APP免费
13.4 zipWithIndex和zip方法
- APP免费
13.5 map方法
- APP免费
13.6 flatten方法
- APP免费
13.7 filter方法
- APP免费
13.8 从集合中提取元素序列
- APP免费
13.9 序列的拆分
- APP免费
13.10 reduce和fold方法
- APP免费
13.11 序列的去重
- APP免费
13.12 序列的合并
- APP免费
13.13 序列的随机化
- APP免费
13.14 集合排序
- APP免费
13.15 mkString和addString方法
- APP免费
第14章 集合:映射
- APP免费
14.1 创建和使用映射
- APP免费
14.2 选择合适的映射
- APP免费
14.3 不可变映射的添加、更新和删除操作
- APP免费
14.4 可变映射的添加、更新和删除操作
- APP免费
14.5 安全访问映射值
- APP免费
14.6 测试映射中键或值的存在
- APP免费
14.7 从映射中获取所有的键或值
- APP免费
14.8 寻找映射中最大和最小的键或值
- APP免费
14.9 映射的遍历
- APP免费
14.10 根据键或值对映射排序
- APP免费
14.11 映射的过滤
- APP免费
第15章 集合:元组、范围、集、栈和队列
- APP免费
15.1 元组与异构列表
- APP免费
15.2 创建范围
- APP免费
15.3 创建集并向其添加元素
- APP免费
15.4 集的删除操作
- APP免费
15.5 有序集
- APP免费
15.6 创建和使用栈
- APP免费
15.7 创建和使用队列
- APP免费
第16章 文件和进程
- APP免费
16.1 文本文件的读取
- APP免费
16.2 文本文件的写入
- APP免费
16.3 二进制文件的读写
- APP免费
16.4 将字符串伪装为文件
- APP免费
16.5 对象和文件间的序列化/反序列化
- APP免费
16.6 目录的遍历
- APP免费
16.7 执行外部命令
- APP免费
16.8 执行外部命令并读取标准输出
- APP免费
16.9 命令的标准输出和标准错误输出
- APP免费
16.10 构建外部命令的管道
- APP免费
第17章 sbt
- APP免费
17.1 新建sbt项目
- APP免费
17.2 用sbt命令构建项目
- APP免费
17.3 了解build.sbt语法风格
- APP免费
17.4 编译、运行和打包Scala项目
- APP免费
17.5 其他sbt命令
- APP免费
17.6 持续的编译和测试
- APP免费
17.7 依赖管理
- APP免费
17.8 托管依赖的版本控制
- APP免费
17.9 API文档的生成
- APP免费
17.10 指定sbt运行的mainClass
- APP免费
17.11 部署一个可执行的JAR文件
- APP免费
17.12 发布类库
- APP免费
第18章 Scala Future和Akka actor的并发
- APP免费
18.1 创建Future
- APP免费
18.2 Future的回调和转换方法
- APP免费
18.3 返回Future的方法
- APP免费
18.4 多个Future的并行执行
- APP免费
18.5 创建面向对象风格的actor
- APP免费
18.6 创建函数式风格的actor
- APP免费
18.7 向actor发消息
- APP免费
18.8 创建有多种状态的actor
- APP免费
第19章 Play框架和Web服务
- APP免费
19.1 创建Play项目
- APP免费
19.2 创建Play的Web API
- APP免费
19.3 返回JSON的GET请求
- APP免费
19.4 将Scala对象序列化成JSON
- APP免费
19.5 将JSON反序列化成Scala对象
- APP免费
19.6 在非Play项目中使用Play JSON库
- APP免费
19.7 初识sttp
- APP免费
第20章 Apache Spark
- APP免费
20.1 初识Spark
- APP免费
20.2 将文件读入RDD
- APP免费
20.3 将CSV读入RDD
- APP免费
20.4 DataFrame
- APP免费
20.5 将数据文件读入DataFrame
- APP免费
20.6 针对多个文件的Spark SQL查询
- APP免费
20.7 Spark批处理程序
- APP免费
第21章 Scala.js、GraalVM和jpackage
- APP免费
21.1 初识Scala.js
- APP免费
21.2 使用Scala.js响应事件
- APP免费
21.3 使用Scala.js构建单页面应用
- APP免费
21.4 使用GraalVM构建原生的可执行文件
- APP免费
21.5 使用jpackage构建应用
- APP免费
第22章 Scala与Java集成
- APP免费
22.1 在Scala中使用Java的集合
- APP免费
22.2 在Java中使用Scala的集合
- APP免费
22.3 在Scala中使用Java的Optional值
- APP免费
22.4 在Java中使用Scala的Option值
- APP免费
22.5 在Java中使用Scala的特质
- APP免费
22.6 在Scala中使用Java的接口
- APP免费
22.7 @throws注解
- APP免费
22.8 @varargs注解
- APP免费
22.9 @SerialVersionUID和其他注解
- APP免费
第23章 类型
- APP免费
23.1 泛型方法
- APP免费
23.2 泛型类
- APP免费
23.3 不可变泛型参数的协变
- APP免费
23.4 元素类型可变化的类
- APP免费
23.5 类的泛型类型边界
- APP免费
23.6 duck类型(结构化类型)
- APP免费
23.7 不透明类型与类型名称
- APP免费
23.8 given和using的术语推断
- APP免费
23.9 并集类型与动态类型
- APP免费
23.10 类型的组合
- APP免费
23.11 通过跨界相等性比较类
- APP免费
23.12 CanEqual类型族
- APP免费
第24章 最佳实践
- APP免费
24.1 纯函数
- APP免费
24.2 不可变量与集合
- APP免费
24.3 表达式
- APP免费
24.4 match表达式与模式匹配
- APP免费
24.5 消除null值
- APP免费
24.6 Option、Try和Either
- APP免费
24.7 构建模块化系统
- APP免费
24.8 高阶函数与Option值
- APP免费
作者简介
- APP免费
封面简介
- APP免费
封底
更新时间:2024-04-15 12:07:21