图书介绍

Scala编程 第3版PDF|Epub|txt|kindle电子书版本网盘下载

Scala编程 第3版
  • (德)马丁·奥德斯基,(美)莱·斯彭,(美)比尔·凡纳斯著 著
  • 出版社: 北京:电子工业出版社
  • ISBN:7121328428
  • 出版时间:2018
  • 标注页数:798页
  • 文件大小:167MB
  • 文件页数:830页
  • 主题词:

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

Scala编程 第3版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 一门可伸缩的语言1

1.1一门按需伸缩的语言2

1.2是什么让Scala能屈能伸?7

1.3为什么要用Scala?11

1.4 Scala寻根17

1.5结语19

第2章Scala入门20

第1步 使用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

第10步使用集和映射43

第11步 识别函数式编程风格48

第12步 从文件读取文本行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构建Rational94

6.3重新实现toString方法96

6.4检查前置条件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章 控制抽象164

9.1减少代码重复164

9.2简化调用方代码169

9.3柯里化170

9.4编写新的控制结构173

9.5传名参数176

9.6结语178

第10章 组合和继承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和toString198

10.13定义工厂对象201

10.14增高和增宽204

10.15放在一起206

10.16结语207

第11章Scala的继承关系208

11.1 Scala的类继承关系208

11.2基本类型的实现机制212

11.3底类型(bottom types)215

11.4定义自己的值类型216

11.5结语219

第12章 特质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

第13章 包和引入240

13.1将代码放进包里240

13.2对相关代码的精简访问242

13.3引入246

13.4隐式引入249

13.5访问修饰符250

13.6包对象256

13.7结语257

第14章 断言和测试258

14.1断言258

14.2用Scala写测试260

14.3翔实的失败报告262

14.4作为规格说明的测试263

14.5基于性质的测试267

14.6组织和运行测试268

14.7结语270

第15章 样例类和模式匹配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

第16章 使用列表307

16.1 List字面量307

16.2 List类型308

16.3构建列表309

16.4列表的基本操作309

16.5列表模式310

16.6 List类的初阶方法312

16.7 List类的高阶方法324

16.8 List对象的方法333

16.9同时处理多个列表335

16.10理解Scala的类型推断算法336

16.11结语339

第17章 使用其他集合类340

17.1序列340

17.2集和映射344

17.3在可变和不可变集合类之间选择352

17.4初始化集合355

17.5元组358

17.6结语361

第18章 可变对象362

18.1什么样的对象是可变的?362

18.2可被重新赋值的变量和属性365

18.3案例分析:离散事件模拟368

18.4用于描述数字电路的语言369

18.5 Simulation API372

18.6电路模拟376

18.7结语384

第19章 类型参数化385

19.1函数式队列385

19.2信息隐藏389

19.3型变注解392

19.4检查型变注解397

19.5下界400

19.6逆变402

19.7对象私有数据405

19.8上界407

19.9结语410

第20章 抽象成员411

20.1抽象成员概览411

20.2类型成员412

20.3抽象的val413

20.4抽象的var414

20.5初始化抽象的val415

20.6抽象类型423

20.7路径依赖类型425

20.8改良类型428

20.9枚举429

20.10案例分析:货币431

20.11结语441

第21章 隐式转换和隐式参数442

21.1隐式转换442

21.2隐式规则445

21.3隐式转换到一个预期的类型448

21.4转换接收端450

21.5隐式参数454

21.6上下文界定460

21.7当有多个转换可选时463

21.8调试465

21.9结语467

第22章 实现列表468

22.1 List类的原理468

22.2 ListBuffer类475

22.3 List类的实践476

22.4外部可见的函数式479

22.5结语480

第23章 重访for表达式481

23.1 for表达式483

23.2 N皇后问题484

23.3用for推导式进行查询487

23.4用for推导式进行翻译489

23.5反过来494

23.6泛化for表达式495

23.7结语497

第24章 深入集合类498

24.1可变和不可变集合499

24.2集合的一致性501

24.3 Traversable特质503

24.4 Iterable特质508

24.5序列型特质Seq、 IndexedSeq和LinearSeq512

24.6集517

24.7映射521

24.8具体的不可变集合类525

24.9具体的可变集合类532

24.10数组539

24.11字符串544

24.12性能特征545

24.13相等性547

24.14视图548

24.15 迭代器554

24.16从头创建集合561

24.17 Java和Scala集合互转563

24.18结语564

第25章Scala集合架构565

25.1集合构建器565

25.2抽取公共操作567

25.3集成新的集合572

25.4结语588

第26章 提取器589

26.1示例:提取电子邮箱地址589

26.2提取器591

26.3提取0或1个变量的模式594

26.4提取可变长度参数的模式596

26.5提取器和序列模式598

26.6提取器和样例类的对比599

26.7正则表达式601

26.8结语604

第27章 注解606

27.1为什么要有注解?606

27.2注解的语法607

27.3标准注解609

27.4结语613

第28章 使用XML614

28.1半结构化数据614

28.2 XML概览615

28.3 XML字面量616

28.4序列化618

28.5拆解XML620

28.6反序列化622

28.7加载和保存623

28.8对XML做模式匹配624

28.9结语628

第29章 用对象实现模块化编程629

29.1问题描述630

29.2食谱应用程序631

29.3抽象634

29.4将模块拆分成特质638

29.5运行时链接640

29.6跟踪模块实例642

29.7结语643

第30章 对象相等性645

30.1 Scala中的相等性645

30.2编写相等性方法646

30.3为参数化类型定义相等性660

30.4如何编写equals和hashCode方法664

30.5结语668

第31章 结合Scala和Java669

31.1从Java使用Scala669

31.2注解672

31.3通配类型678

31.4同时编译Scala和Java680

31.5基于Scala 2.12特性的Java 8集成681

31.6结语685

第32章Future和并发编程686

32.1天堂里的烦恼687

32.2异步执行和Try688

32.3使用Future690

32.4测试Future705

32.5结语708

第33章 组合子解析709

33.1示例:算术表达式710

33.2运行你的解析器712

33.3基本的正则表达式解析器713

33.4另一个示例:JSON714

33.5解析器输出717

33.6实现组合子解析器723

33.7字符串字面量和正则表达式732

33.8词法分析和解析733

33.9错误报告734

33.10回溯和LL(1)736

33.11结语737

第34章GUI编程740

34.1第一个Swing应用程序740

34.2面板和布局743

34.3处理事件745

34.4示例:摄氏/华氏转换器748

34.5结语750

第35章SCells试算表752

35.1可视化框架752

35.2将数据录入和显示分开755

35.3公式758

35.4解析公式760

35.5求值765

35.6操作类库768

35.7变更通知771

35.8结语775

附录A Unix和Windows环境的Scala脚本777

术语表778

关于作者798

热门推荐