Scala程序设计(第2版)

Scala程序设计(第2版)

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

    关注微信公众号

因版权原因待上架

编辑推荐

详细说明Scala作为编程的理想语言,熟练使用Scala语言及其生态系统。

内容简介

本书通过大量的代码示例,全面介绍Scala这门针对JVM的编程语言,向读者展示了如何高效地利用Scala语言及其生态系统,同时解释了为何Scala是开发高扩展性、以数据为中心的应用程序的理想语言。

本书既适合Scala初学者入门,也适合经验丰富的Scala开发 者参考。

作者简介

作者Dean Wampler博士是Typesafe公司的大数据产品架构师。Typesafe使用Scala、函数式编程、Spark、Hadoop以及Akka技术编写以数据为中心的工具和服务。Dean是《面向Java开发者的函数式编程》的作者,同时也与他人合著了《Hive编程指南》一书。

章节目录

版权信息

版权声明

O'Reilly Media, Inc. 介绍

前言

第1章 零到六十:Scala 简介

1.1 为什么选择Scala

1.2 安装Scala

1.3 使用Scala

1.4 并发

1.5 本章回顾与下一章提要

第2章 更简洁,更强大

2.1 分号

2.2 变量声明

2.3 Range

2.4 偏函数

2.5 方法声明

2.6 推断类型信息

2.7 保留字

2.8 字面量

2.9 Option、Some和None:避免使用null

2.10 封闭类的继承

2.11 用文件和名空间组织代码

2.12 导入类型及其成员

2.13 抽象类型与参数化类型

2.14 本章回顾与下一章提要

第3章 要点详解

3.1 操作符重载?

3.2 无参数方法

3.3 优先级规则

3.4 领域特定语言

3.5 Scala中的if语句

3.6 Scala中的for推导式

3.7 其他循环结构

3.8 条件操作符

3.9 使用try、catch和final子句

3.10 名字调用和值调用

3.11 惰性赋值

3.12 枚举

3.13 可插入字符串

3.14 Trait:Scala语言的接口和“混入”

3.15 本章回顾与下一章提要

第4章 模式匹配

4.1 简单匹配

4.2 match中的值、变量和类型

4.3 序列的匹配

4.4 元组的匹配

4.5 case中的guard语句

4.6 case类的匹配

4.7 可变参数列表的匹配

4.8 正则表达式的匹配

4.9 再谈case语句的变量绑定

4.10 再谈类型匹配

4.11 封闭继承层级与全覆盖匹配

4.12 模式匹配的其他用法

4.13 总结关于模式匹配的评价

4.14 本章回顾与下一章提要

第5章 隐式详解

5.1 隐式参数

5.2 隐式参数适用的场景

5.3 隐式转换

5.4 类型类模式

5.5 隐式所导致的技术问题

5.6 隐式解析规则

5.7 Scala 内置的各种隐式

5.8 合理使用隐式

5.9 本章回顾与下一章提要

第6章 Scala 函数式编程

6.1 什么是函数式编程

6.2 Scala中的函数式编程

6.3 递归

6.4 尾部调用和尾部调用优化

6.5 偏应用函数与偏函数

6.6 Curry化与函数的其他转换

6.7 函数式编程的数据结构

6.8 遍历、映射、过滤、折叠与归约

6.9 向左遍历与向右遍历

6.10 组合器:软件最佳组件抽象

6.11 关于复制

6.12 本章回顾与下一章提要

第7章 深入学习 for 推导式

7.1 内容回顾:for推导式组成元素

7.2 for推导式:内部机制

7.3 for推导式的转化规则

7.4 Option以及其他的一些容器类型

7.5 本章回顾与下一章提要

第8章 Scala 面向对象编程

8.1 类与对象初步

8.2 引用与值类型

8.3 价值类

8.4 父类

8.5 Scala的构造器

8.6 类的字段

8.7 验证输入

8.8 调用父类构造器(与良好的面向对象设计)

8.9 嵌套类型

8.10 本章回顾与下一章提要

第9章 特征

9.1 Java 8中的接口

9.2 混入trait

9.3 可堆叠的特征

9.4 构造trait

9.5 选择类还是trait

9.6 本章回顾与下一章提要

第10章 Scala 对象系统(I)

10.1 参数化类型:继承转化

10.2 Scala的类型层次结构

10.3 闲话Nothing(以及Null)

10.4 Product、case类和元组

10.5 Predef对象

10.6 对象的相等

10.7 本章回顾与下一章提要

第11章 Scala 对象系统(II)

11.1 覆写类成员和trait成员

11.2 尝试覆写final声明

11.3 覆写抽象方法和具体方法

11.4 覆写抽象字段和具体字段

11.5 覆写抽象类型

11.6 无须区分访问方法和字段:统一访问原则

11.7 对象层次结构的线性化算法

11.8 本章回顾与下一章提要

第12章 Scala 集合库

12.1 通用、可变、不可变、并发以及并行集合

12.2 选择集合

12.3 集合库的设计惯例

12.4 值类型的特化

12.5 本章回顾与下一章提要

第13章 可见性规则

13.1 默认可见性:公有可见性

13.2 可见性关键字

13.3 Public可见性

13.4 Protected可见性

13.5 Private可见性

13.6 作用域内私有和作用域内受保护可见性

13.7 对可见性的想法

13.8 本章回顾与下一章提要

第14章 Scala 类型系统(I)

14.1 参数化类型

14.2 类型边界

14.3 上下文边界

14.4 视图边界

14.5 理解抽象类型

14.6 自类型标记

14.7 结构化类型

14.8 复合类型

14.9 存在类型

14.10 本章回顾与下一章提要

第15章 Scala 类型系统(II)

15.1 路径相关类型

15.2 依赖方法类型

15.3 类型投影

15.4 值的类型

15.5 Higher-Kinded类型

15.6 类型Lambda

15.7 自递归类型:F-Bounded多态

15.8 本章回顾与下一章提要

第16章 高级函数式编程

16.1 代数数据类型

16.2 范畴理论

16.3 本章回顾与下一章提要

第17章 并发工具

17.1 scala.sys.process包

17.2 Future类型

17.3 利用Actor模型构造稳固且可扩展的并发应用

17.4 Akka:为Scala设计的Actor系统

17.5 Pickling 和 Spores

17.6 反应式编程

17.7 本章回顾与下一章提要

第18章 Scala 与大数据

18.1 大数据简史

18.2 用Scala改善MapReduce

18.3 超越MapReduce

18.4 数学范畴

18.5 Scala数据工具列表

18.6 本章回顾与下一章提要

第19章 Scala 动态调用

19.1 一个较为激进的示例:Ruby on Rails框架中的ActiveRecord库

19.2 使用动态特征实现Scala中的动态调用

19.3 关于DSL的一些思考

19.4 本章回顾与下一章提要

第20章 Scala 的领域特定语言

20.1 DSL实例:Scala中XML和JSON DSL

20.2 内部DSL

20.3 包含解析组合子的外部DSL

20.4 内部DSL与外部DSL:最后的思考

20.5 本章回顾与下一章提要

第21章 Scala 工具和库

21.1 命令行工具

21.2 构建工具

21.3 与IDE或文本编辑器集成

21.4 在Scala中应用测试驱动开发

21.5 第三方库

21.6 本章回顾与下一章提要

第22章 与 Java 的互操作

22.1 在Scala代码中使用Java名称

22.2 Java泛型与Scala泛型

22.3 JavaBean的性质

22.4 AnyVal类型与Java原生类型

22.5 Java代码中的Scala名称

22.6 本章回顾与下一章提要

第23章 应用程序设计

23.1 回顾之前的内容

23.2 注解

23.3 Trait即模块

23.4 设计模式

23.5 契约式设计带来更好的设计

23.6 帕特农神庙架构

23.7 本章回顾与下一章提要

第24章 元编程:宏与反射

24.1 用于理解类型的工具

24.2 运行时反射

24.3 Scala的高级运行时反射API

24.4 宏

24.5 本章回顾与下一章提要

附录 A 参考文献

作者简介

封面介绍

看完了

Scala程序设计(第2版)是2016年由人民邮电出版社·图灵出品出版,作者[美] Dean Wample。

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

购买这本书

你可能喜欢
C语言程序设计:现代方法(第2版·修订版) 电子书
C语言入门零基础自学教程新升级,增加C1X相关内容,讲述C的所有特性,国外诸多名校的C语言课程教材,C开发人员的参考书。
SpringBoot开发与测试实战 电子书
一本关于Spring Boot应用程序开发和测试的入门图书。
JavaScript悟道 电子书
与大宗师道格拉斯一起,痛并快乐地用好JavaScript。
PHP动态网站程序设计(第2版) 电子书
一方面侧重对PHP基本原理和方法的深入讲解;另一方面重视对实用技术的讲解,以增强学习兴趣。
汇编语言程序设计(第2版) 电子书
本书主要介绍基于80x86的汇编语言程序设计方法和技术。