Scala编程(第5版)

Scala编程(第5版)

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

本书由直接参与Scala开发的一线人员编写,深入介绍了Scala这门结合面向对象和函数式的编程语言的核心特性和设计取舍。

内容简介

继第4版后,时隔一年,本书迎来重大更新,内容覆盖Scala3.0,对新的缩进语法、并集类型、交集类型、枚举、代数数据类型、上下文参数、特质参数、扩展方法、类型族等都有详细介绍。

本书适合有一定编程经验的开发者阅读,尤其是对Scala3.0新特性感兴趣的开发者朋友。即便是不直接使用Scala的读者,也能从本书中学到大量关于函数式和面向对象的编程概念和技巧。

章节目录

版权信息

内容简介

推荐语

译者序

引言

第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 方法

8.2 局部函数

8.3 一等函数

8.4 函数字面量的简写形式

8.5 占位符语法

8.6 部分应用的函数

8.7 闭包

8.8 特殊的函数调用形式

8.9 SAM类型

8.10 尾递归

8.11 结语

第9章 控制抽象

9.1 减少代码重复

9.2 简化调用方代码

9.3 柯里化

9.4 编写新的控制结构

9.5 传名参数

9.6 结语

第10章 组合和继承

10.1 一个二维的布局类库

10.2 抽象类

10.3 定义无参方法

10.4 扩展类

10.5 重写方法和字段

10.6 定义参数化字段

10.7 调用超类构造方法

10.8 使用override修饰符

10.9 多态和动态绑定

10.10 声明final成员

10.11 使用组合和继承

10.12 实现above、beside和toString方法

10.13 定义工厂对象

10.14 增高和增宽

10.15 放在一起

10.16 结语

第11章 特质

11.1 特质如何工作

11.2 瘦接口和富接口

11.3 作为可叠加修改的特质

11.4 为什么不用多重继承

11.5 特质参数

11.6 结语

第12章 包、引入和导出

12.1 将代码放进包里

12.2 对相关代码的精简访问

12.3 引入

12.4 隐式引入

12.5 访问修饰符

12.6 顶层定义

12.7 导出

12.8 结语

第13章 样例类和模式匹配

13.1 一个简单的例子

13.2 模式的种类

13.3 模式守卫

13.4 模式重叠

13.5 密封类

13.6 对Option进行模式匹配

13.7 到处都是模式

13.8 一个复杂的例子

13.9 结语

第14章 使用列表

14.1 List字面量

14.2 List类型

14.3 构建列表

14.4 列表的基本操作

14.5 列表模式

14.6 List类的初阶方法

14.7 List类的高阶方法

14.8 List对象的方法

14.9 同时处理多个列表

14.10 理解Scala的类型推断算法

14.11 结语

第15章 使用其他集合类

15.1 序列

15.2 集和映射

15.3 在可变和不可变集合之间选择

15.4 初始化集合

15.5 元组

15.6 结语

第16章 可变对象

16.1 什么样的对象是可变的

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

16.3 案例分析:离散事件模拟

16.4 用于描述数字电路的语言

16.5 模拟API

16.6 电路模拟

16.7 结语

第17章 Scala的继承关系

17.1 Scala的类继承关系

17.2 基本类型的实现机制

17.3 底类型

17.4 定义自己的值类型

17.5 交集类型

17.6 并集类型

17.7 透明特质

17.8 结语

第18章 类型参数化

18.1 函数式队列

18.2 信息隐藏

18.3 型变注解

18.4 检查型变注解

18.5 下界

18.6 逆变

18.7 上界

18.8 结语

第19章 枚举

19.1 枚举数据类型

19.2 代数数据类型

19.3 泛化代数数据类型

19.4 为什么说ADT是代数数据类型

19.5 结语

第20章 抽象成员

20.1 抽象成员概览

20.2 类型成员

20.3 抽象的val

20.4 抽象的var

20.5 初始化抽象的val

20.6 抽象类型

20.7 路径依赖类型

20.8 改良类型

20.9 案例分析:货币

20.10 结语

第21章 上下文参数

21.1 上下文参数的工作原理

21.2 参数化的上下文参数类型

21.3 匿名上下文参数

21.4 作为类型族的参数化上下文参数

21.5 上下文参数的引入

21.6 上下文参数的规则

21.7 当有多个上下文参数可选时

21.8 调试上下文参数

21.9 结语

第22章 扩展方法

22.1 扩展方法的基础

22.2 泛化的扩展方法

22.3 成组的扩展方法

22.4 使用类型族

22.5 针对上下文参数的扩展方法

22.6 Scala如何查找扩展方法

22.7 结语

第23章 类型族

23.1 为什么要用类型族

23.2 上下文界定

23.3 主方法

23.4 跨界相等性

23.5 隐式转换

23.6 类型族案例分析:JSON序列化

23.7 结语

第24章 深入集合类

24.1 可变和不可变集合

24.2 集合的一致性

24.3 Iterable特质

24.4 序列型特质Seq、IndexedSeq和LinearSeq

24.5 集

24.6 映射

24.7 具体的不可变集合类

24.8 具体的可变集合类

24.9 数组

24.10 字符串

24.11 性能特征

24.12 相等性

24.13 视图

24.14 迭代器

24.15 从头创建集合

24.16 Java和Scala集合互转

24.17 结语

第25章 断言和测试

25.1 断言

25.2 用Scala写测试

25.3 翔实的失败报告

25.4 作为规格说明的测试

25.5 基于属性的测试

25.6 组织和运行测试

25.7 结语

术语表

关于作者

Scala编程(第5版)是2022年由电子工业出版社出版,作者[美]比尔·文纳斯。

得书感谢您对《Scala编程(第5版)》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
数控编程与操作(第2版) 电子书
本书以数控车床、数控铣床(加工中心)、数控电火花线切割的编程与操作为核心,以FANUC数控系统和华中数控系统为主,按照学习与教学的规律,深入浅出地详细介绍数控加工工艺、数控车削与铣削的编程、数控电火花线切割的编程、数控机床的操作以及典型零件的应用实例等内容。所有零件加工程序语句都附有详细、清晰的注释说明。各章后设有习题,便于学生更好地掌握所学内容;书的**后附有FANUC和华中世纪之星数控车削指令
Python快速编程入门(第2版) 电子书
本书以PyCharm为主要开发工具,采用理论与实训案例相结合的形式,系统性地讲解Python的核心知识。全书共11章,其中,第1~10章介绍Python语言的核心理论知识,包括基础知识、流程控制、字符串、组合数据类型、函数、文件与数据格式化、面向对象、异常和Python计算生态与常用库;第11章围绕着前期学习的理论知识开发一个游戏项目——飞机大战。除第1章和第11章外,其他章均配有丰富的实训案例和
数控加工编程与操作(第2版) 电子书
本书以培养学生零件的数控加工技能为核心,主要包括数控车削加工、数控铣削加工内容,并结合生产实际对数控技术人才的需求,增加了数控电火花线切割机床、数控冲床的编程与操作知识。全书共3个模块18个项目,每个模块中包含了零件的数控加工工艺分析与编程和数控机床的操作项目,以FANUC数控系统为主,采用项目教学的方式组织内容,详细介绍了零件的数控加工工艺设计、程序编制、加工操作等内容。本书可作为高等职业院校、
Python编程入门与实战(第3版) 电子书
本书是一本全面介绍Python编程,并针对多个应用场景给出解决方案的编程手册。从Python的基础知识开始,介绍了数据类型、函数、条件、循环等基本概念,展示了生成器、面向对象编程等具有Python特色的进阶理念,并给出了定位和排除异常、测试代码、调试的方法。随后,本书针对GUI、数据科学等实用场景,使用Python解决实际问题。最后,本书给出了发布Python程序的方法。本书适合想要学习编程或有一
Python编程基础(第2版)(微课版) 电子书
本书以任务为导向,系统介绍Python编程基础及其相关知识的应用,讲解如何利用Python的知识解决部分实际问题。全书共9章,第1章介绍学习Python的准备工作,包括Python的由来、Python环境搭建、编辑器介绍与安装等。第2~8章主要介绍Python的基础知识、数据结构、程序流程控制语句、函数、面向对象编程、文件基础和常用的内置模块等内容。第9章介绍综合案例:学生测试程序设计。除第9章外