Scala编程第4版pdf下载pdf下载

Scala编程第4版百度网盘pdf下载

作者:
简介:本篇主要提供Scala编程第4版pdf下载
出版社:文轩网旗舰店
出版时间:2021-02
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

作  者:(德)马丁·奥德斯基,(美)莱斯·彭,(美)比尔·文纳斯 著 高宇翔 译
定  价:209
出 版 社:电子工业出版社
出版日期:2021年02月01日
页  数:844
装  帧:平装
ISBN:9787121402722
主编推荐
"√ 本书作者Martin Odersky教授2001年率领团队开发了Scala语言、类库和编译器,其核心成员精心编写了这本官方教程。 √ Java之父James Gosling说过“如果让我在Java之外选一门语言,我会选Scala”,它是面向对象与函数式编程的融合。 √ 本书全面涵盖整个编程语言、重要类库及其背后理念,经多版本迭代优化后,编排、组织和示例设置堪称语言学习典范。 √ 第4版大幅增加新内容,覆盖Scala 2.13新特性并重塑集合类库:集合类继承关系|集合类型实现|集合方法等
目录
序.XXII
致谢.XXIV
引言.XXVII
章 一门可伸缩的语言.1
1.1 一门按需伸缩的语言.2
1.2 是什么让Scala能屈能伸.7
1.3 为什么要用Scala.11
1.4 Scala寻根.17
1.5 结语.19
第2章 Scala入门.20
步 使用Scala解释器.21
第2步 定义变量.22
第3步 定义函数.24
第4步 编写Scala脚本.26
第5步 用while做循环;用if做判断.27
第6步 用foreach和for遍历.30
结语.32
第3章 Scala入门(续).33
第7步 用类型参数化数组.33
第8步 使用列表.38
第9步 使用元组.42
0步 使用集和映射.43
1步 识别函数式编程风格.48
2步 从文件读取文本行.51
结语.55
第4章 类和对象.56
4.1 类、字段和方法.56
4.2 分号推断.61
4.3 单例对象.62
4.4 Scala应用程序.65
4.5 App特质.68
4.6 结语.68
第5章 基础类型和操作.69
5.1 一些基础类型.69
5.2 字面量.70
5.3 字符串插值.77
5.4 操作符即方法.78
5.5 算术操作.81
5.6 关系和逻辑操作.83
5.7 位运算操作.85
5.8 对象相等性.86
5.9 操作符优先级和结合性.88
5.10 富包装类.91
5.11 结语.91
第6章 函数式对象.93
6.1 Rational类的规格定义.93
6.2 构建Rational.94
6.3 重新实现toString方法.96
检查前置条件.97
6.5 添加字段.98
6.6 自引用.100
6.7 辅助构造方法.101
6.8 私有字段和方法.102
6.9 定义操作符.104
6.10 Scala中的标识符.106
6.11 方法重载.108
6.12 隐式转换.111
6.13 注意事项.112
6.14 结语.112
第7章 内建的控制结构.114
7.1 if表达式.115
7.2 while循环.116
7.3 for表达式.119
7.4 用try表达式实现异常处理.125
7.5 match表达式.129
7.6 没有break和continue的日子.131
7.7 变量作用域.134
7.8 对指令式代码进行重构.137
7.9 结语.139
第8章 函数和闭包.140
8.1 方法.140
8.2 局部函数.142
8.3 一等函数.144
8.4 函数字面量的简写形式.147
8.5 占位符语法.147
8.6 部分应用的函数.149
8.7 闭包.152
8.8 特殊的函数调用形式.156
8.9 尾递归.159
8.10 结语.163
第9章 控制抽象.1
9.1 减少代码重复.1
9.2 简化调用方代码.169
9.3 柯里化.170
9.4 编写新的控制结构.173
9.5 传名参数.176
9.6 结语.178
0章 组合和继承.179
10.1 一个二维的布局类库.179
10.2 抽象类.180
10.3 定义无参方法.182
10.4 扩展类.184
10.5 重写方法和字段.186
10.6 定义参数化字段.188
10.7 调用超类构造方法.189
10.8 使用override修饰符.190
10.9 多态和动态绑定.192
10.10 声明final成员.195
10.11 使用组合和继承.196
10.12 实现above、beside和toString.198
10.13 定义工厂对象.201
10.14 增高和增宽.204
10.15 放在一起.206
10.16 结语.207
1章 Scala的继承关系.208
11.1 Scala的类继承关系.208
11.2 基本类型的实现机制.212
11.3 底类型(bottom types).215
11.4 定义自己的值类型.216
11.5 结语.219
2章 特质.220
12.1 特质如何工作.220
12.2 瘦接口和富接口.224
12.3 示例:矩形对象.225
12.4 Ordered特质.227
12.5 作为可叠加修改的特质.229
12.6 为什么不用多重继承.234
12.7 要特质还是不要特质.238
12.8 结语.238
3章 包和引入.240
13.1 将代码放进包里.240
13.2 对相关代码的精简访问.242
13.3 引入.246
13.4 隐式引入.249
13.5 访问修饰符.250
13.6 包对象.256
13.7 结语.257
4章 断言和测试.258
14.1 断言.258
14.2 用Scala写测试.260
14.3 翔实的失败报告.262
14.4 作为规格说明的测试.263
14.5 基于性质的测试.267
14.6 组织和运行测试.268
14.7 结语.270
5章 样例类和模式匹配.271
15.1 一个简单的例子.271
15.2 模式的种类.276
15.3 模式守卫.286
15.4 模式重叠.287
15.5 密封类.289
15.6 Option类型.291
15.7 到处都是模式.293
15.8 一个复杂的例子.298
15.9 结语.306
6章 使用列表.307
16.1 List字面量.307
16.2 List类型.308
16.3 构建列表.309
1 列表的基本操作.309
16.5 列表模式.310
16.6 List类的初阶方法.312
16.7 List类的高阶方法.324
16.8 List对象的方法.332
16.9 同时处理多个列表.335
16.10 理解Scala的类型推断算法.336
16.11 结语.339
7章 使用其他集合类.341
17.1 序列.341
17.2 集和映射.345
17.3 在可变和不可变集合类之间选择.353
17.4 初始化集合.356
17.5 元组.360
17.6 结语.362
8章 可变对象.363
18.1 什么样的对象是可变的.363
18.2 可被重新赋值的变量和属性.366
18.3 案例分析:离散事件模拟.369
18.4 用于描述数字电路的语言.370
18.5 Silation API.373
18.6 电路模拟.377
18.7 结语.385
9章 类型参数化.386
19.1 函数式队列.386
19.2 信息隐藏.390
19.3 型变注解.393
19.4 检查型变注解.398
19.5 下界.401
19.6 逆变.403
19.7 对象私有数据.406
19.8 上界.408
19.9 结语.411
第20章 抽象成员.412
20.1 抽象成员概览.412
20.2 类型成员.413
20.3 抽象的val.414
20.4 抽象的var.415
20.5 初始化抽象的val.416
20.6 抽象类型.424
20.7 路径依赖类型.426
20.8 改良类型.429
20.9 枚举.430
20.10 案例分析:货币.432
20.11 结语.442
第21章 隐式转换和隐式参数.443
21.1 隐式转换.443
21.2 隐式规则.446
21.3 隐式转换到一个预期的类型.449
21.4 转换接收端.451
21.5 隐式参数.455
21.6 上下文界定.461
21.7 当有多个转换可选时.4
21.8 调试.466
21.9 结语.468
第22章 实现列表.469
22.1 List类的原理.469
22.2 ListBuffer类.475
22.3 List类的实践.477
22.4 外部可见的函数式.480
22.5 结语.481
第23章 重访for表达式.482
23.1 for表达式.484
23.2 N皇后问题.485
23.3 用for推导式进行查询.488
23.4 用for推导式进行翻译.490
23.5 反过来.495
23.6 泛化for表达式.496
23.7 结语.498
第24章 深入集合类.499
24.1 可变和不可变集合.500
24.2 集合的一致性.502
24.3 Iterable特质.504
24.4 序列型特质Seq、IndexedSeq和LinearSeq.511
24.5 集.517
24.6 映射.521
24.7 具体的不可变集合类.525
24.8 具体的可变集合类.534
24.9 数组.540
24.10 字符串.545
24.11 性能特征.546
24.12 相等性.548
24.13 视图.549
24.14 迭代器.554
24.15 从头创建集合.561
24.16 Java和Scala集合互转.563
24.17 结语.565
第25章 Scala集合架构.566
25.1 抽取公共操作.566
25.2 集的集合.575
25.3 结语.600
第26章 提取器.601
26.1 示例:提取电子邮箱地址.601
26.2 提取器.603
26.3 提取0或1个变量的模式.606
2 提取可变长度参数的模式.608
26.5 提取器和序列模式.610
26.6 提取器和样例类的对比.611
26.7 正则表达式.613
26.8 结语.616
第27章 注解.618
27.1 为什么要有注解.618
27.2 注解的语法.619
27.3 标准注解.621
27.4 结语.625
第28章 使用XML.626
28.1 半结构化数据.626
28.2 XML概览.627
28.3 XML字面量.628
28.4 序列化.630
28.5 拆解XML.632
28.6 反序列化.634
28.7 加载和保存.635
28.8 对XML做模式匹配.636
28.9 结语.0
第29章 用对象实现模块化编程.1
29.1 问题描述.2
29.2 食谱应用程序.3
29.3 抽象.6
29.4 将模块拆分成特质.650
29.5 运行时链接.652
29.6 跟踪模块实例.654
29.7 结语.655
第30章 对象相等性.657
30.1 Scala中的相等性.657
30.2 编写相等性方法.658
30.3 为参数化类型定义相等性.672
30.4 如何编写equals和hashCode方法.676
30.5 结语.680
第31章 结合Scala和Java.681
31.1 从Java使用Scala.681
31.2 注解.684
31.3 通配类型.690
31.4 同时编译Scala和Java.692
31.5 Java 8集成.693
31.6 结语.697
第32章 Future和并发编程.698
32.1 天堂里的烦恼.699
32.2 异步执行和Try.700
32.3 使用Future.702
32.4 测试Future.717
32.5 结语.720
第33章 组合子解析.721
33.1 示例:算术表达式.722
33.2 运行你的解析器.724
33.3 基本的正则表达式解析器.725
33.4 另一个示例:JSON.726
33.5 解析器输出.729
33.6 实现组合子解析器.735
33.7 字符串字面量和正则表达式.744
33.8 词法分析和解析.745
33.9 错误报告.746
33.10 回溯和LL(1).748
33.11 结语.749
第34章 GUI编程.752
34.1 个Swing应用程序.752
34.2 面板和布局.755
34.3 处理事件.757
34.4 示例:摄氏/华氏转换器.760
34.5 结语.762
第35章 SCells试算表.7
35.1 可视化框架.7
35.2 将数据录入和显示分开.767
35.3 公式.770
35.4 解析公式.772
35.5 求值.777
35.6 操作类库.780
35.7 变更通知.783
35.8 结语.787
附录 Unix和Windows环境的Scala脚本.789
术语表.790
关于作者.810
内容简介
本书由直接参与Scala开发的一线人员编写,因而对原理的解读和对应用的把握更加值得信赖。本书面向具有一定编程经验的开发者,目标是让读者能够全面了解和掌握Scala编程语言的核心特性,并能够深入理解Scala这门语言在设计取舍背后的动因。即便是不直接使用Scala的读者或非一线编程从业者,也能从本书中学到大量关于函数式和面向对象的编程概念和技巧。
作者简介
(德)马丁·奥德斯基,(美)莱斯·彭,(美)比尔·文纳斯 著 高宇翔 译
"Martin Odersky是Scala语言的。他是瑞士洛桑理工学院(EPFL)的教授,自2001年起,由他带领的团队开发了Scala语言、类库和编译器。他同时是Lightbend公司的创始人,参与设计了Java泛型,还是当前javac编译器参考实现的原作者。Lex Spoon在EPFL开展了为期两年的Scala编程工作,目前是Square公司的软件工程师。Bill Venners是Artima公司总裁,是Scala Center咨询委员会的社区代表,还是测试框架ScalaTest和针对函数式、面向对象编程类库Scalactic的主要开发者和设计者。 高宇翔,软件开发工程师和系统架构师,同等