View on GitHub

ScalaProgramming

《 Scala 程序设计(第 2 版)》学习笔记

ScalaProgramming

《 Scala 程序设计(第 2 版)》学习笔记

版权所有

Programming Scala, Second Edition by Dean Wampler and Alex Payne.
Copyright 2015 Dean Wampler and Alex Payne, 978-1-491-94985-6. Git </br> </br>

学习说明

程序实现

第 01 章:零到六十: Scala 简介

  1. 为什么选择 Scala
    1.1 富有魅力的 Scala
    1.2 关于 Java 8
  2. 安装 Scala
    2.1 使用 SBT
    2.2 执行 Scala 命令行工具
    2.3 在 IDE 中运行 Scala REPL
  3. 使用 Scala
  4. 并发

第 02 章:更简洁,更强大

  1. 分号
  2. 变量声明
  3. Range
  4. 偏函数
  5. 方法声明
    5.1 方法默认值和命名参数列表
    5.2 方法具有多个参数列表
    5.3 Future 简介
    5.4 嵌套方法的定义与递归
  6. 推断类型信息
  7. 保留字
  8. 字面量
    8.1 整数字面量
    8.2 浮点数字面量
    8.3 布尔型字面量
    8.4 字符字面量
    8.5 字符串字面量
    8.6 符号字面量
    8.7 函数字面量
    8.8 元组字面量
  9. Option 、 Some 和 None :避免使用 null
  10. 封闭类的继承
  11. 用文件和名空间组织代码
  12. 导入类型及其成员
    12.1 导入是相对的
    12.2 包对象
  13. 抽象类型与参数化类型

第 03 章:要点详解

  1. 操作符重载
  2. 无参数方法
  3. 优先级规则
  4. 领域特定语言
  5. Scala 中的 if 语句
  6. Scala 中的 for 推导式
    6.1 for 循环
    6.2 生成器表达式
    6.3 保护式:筛选元素
    6.4 Yielding
    6.5 扩展作用域与值定义
  7. 其他循环结构
    7.1 Scala 的 while 循环
    7.2 Scala 中的 do-while 循环
  8. 条件操作符
  9. 使用try、catch和final子句
  10. 名字调用和值调用
  11. 惰性赋值
  12. 枚举
  13. 可插入字符串
  14. Trait:Scala语言的接口和“混入”

第 04 章:模式匹配

  1. 简单匹配
  2. match 中的值、变量和类型
  3. 序列的匹配
  4. 元组的匹配
  5. case 中的 guard 语句
  6. case 类的匹配
    6.1 unapply 方法
    6.2 unapplySeq 方法
  7. 可变参数列表的匹配
  8. 正则表达式的匹配
  9. 再谈 case 语句的变量绑定
  10. 再谈类型匹配
  11. 封闭继承层级与全覆盖匹配
  12. 模式匹配的其他用法
  13. 总结关于模式匹配的评价

第 05 章:隐式详解

  1. 隐式参数
  2. 隐式参数适用的场景
    2.1 执行上下文
    2.2 功能控制
    2.3 限定可用实例
    2.4 隐式证据
    2.5 绕开类型擦除带来的限制
    2.6 改善报错信息
    2.7 虚类型
    2.8 隐式参数遵循的规则
  3. 隐式转换
    3.1 构建独有的字符串插入器
    3.2 表达式问题
  4. 类型类模式
  5. 隐式所导致的技术问题
  6. 隐式解析规则
  7. Scala 内置的各种隐式
  8. 合理使用隐式

第 06 章:Scala 函数式编程

  1. 什么是函数式编程
    1.1 数学中的函数
    1.2 不可变变量
  2. Scala 中的函数式编程
    2.1 匿名函数、 Lambda 与闭包
    2.2 内部与外部的纯粹性
  3. 递归
  4. 尾部调用和尾部调用优化
  5. 偏应用函数与偏函数
  6. Curry 化与函数的其他转换
  7. 函数式编程的数据结构
    7.1 序列
    7.2 映射表
    7.3 集合
  8. 遍历、映射、过滤、折叠与归约
    8.1 遍历
    8.2 映射
    8.3 扁平映射
    8.4 过滤
    8.5 折叠与归约
  9. 向左遍历与向右遍历
  10. 组合器:软件最佳组件抽象
  11. 关于复制

第 07 章:深入学习 for 推导式

  1. 内容回顾: for 推导式组成元素
  2. for 推导式:内部机制
  3. for 推导式的转化规则
  4. Option 以及其他的一些容器类型
    4.1 Option 容器
    4.2 Either : Option 类型的逻辑扩展
    4.3 Try 类型
    4.4 Scalaz 提供的 Validation 类

第 08 章: Scala 面向对象编程

  1. 类与对象初步
  2. 引用与值类型
  3. 价值类
  4. 父类
  5. Scala 的构造器
  6. 类的字段
    6.1 统一访问原则
    6.2 一元方法
  7. 验证输入
  8. 调用父类构造器(与良好的面向对象设计)
  9. 嵌套类型