- 封底 更新時間:2022-05-06 15:53:19
- 關于作者
- 術語表
- 25.7 結語
- 25.6 組織和運行測試
- 25.5 基于屬性的測試
- 25.4 作為規格說明的測試
- 25.3 翔實的失敗報告
- 25.2 用Scala寫測試
- 25.1 斷言
- 第25章 斷言和測試
- 24.17 結語
- 24.16 Java和Scala集合互轉
- 24.15 從頭創建集合
- 24.14 迭代器
- 24.13 視圖
- 24.12 相等性
- 24.11 性能特征
- 24.10 字符串
- 24.9 數組
- 24.8 具體的可變集合類
- 24.7 具體的不可變集合類
- 24.6 映射
- 24.5 集
- 24.4 序列型特質Seq、IndexedSeq和LinearSeq
- 24.3 Iterable特質
- 24.2 集合的一致性
- 24.1 可變和不可變集合
- 第24章 深入集合類
- 23.7 結語
- 23.6 類型族案例分析:JSON序列化
- 23.5 隱式轉換
- 23.4 跨界相等性
- 23.3 主方法
- 23.2 上下文界定
- 23.1 為什么要用類型族
- 第23章 類型族
- 22.7 結語
- 22.6 Scala如何查找擴展方法
- 22.5 針對上下文參數的擴展方法
- 22.4 使用類型族
- 22.3 成組的擴展方法
- 22.2 泛化的擴展方法
- 22.1 擴展方法的基礎
- 第22章 擴展方法
- 21.9 結語
- 21.8 調試上下文參數
- 21.7 當有多個上下文參數可選時
- 21.6 上下文參數的規則
- 21.5 上下文參數的引入
- 21.4 作為類型族的參數化上下文參數
- 21.3 匿名上下文參數
- 21.2 參數化的上下文參數類型
- 21.1 上下文參數的工作原理
- 第21章 上下文參數
- 20.10 結語
- 20.9 案例分析:貨幣
- 20.8 改良類型
- 20.7 路徑依賴類型
- 20.6 抽象類型
- 20.5 初始化抽象的val
- 20.4 抽象的var
- 20.3 抽象的val
- 20.2 類型成員
- 20.1 抽象成員概覽
- 第20章 抽象成員
- 19.5 結語
- 19.4 為什么說ADT是代數數據類型
- 19.3 泛化代數數據類型
- 19.2 代數數據類型
- 19.1 枚舉數據類型
- 第19章 枚舉
- 18.8 結語
- 18.7 上界
- 18.6 逆變
- 18.5 下界
- 18.4 檢查型變注解
- 18.3 型變注解
- 18.2 信息隱藏
- 18.1 函數式隊列
- 第18章 類型參數化
- 17.8 結語
- 17.7 透明特質
- 17.6 并集類型
- 17.5 交集類型
- 17.4 定義自己的值類型
- 17.3 底類型
- 17.2 基本類型的實現機制
- 17.1 Scala的類繼承關系
- 第17章 Scala的繼承關系
- 16.7 結語
- 16.6 電路模擬
- 16.5 模擬API
- 16.4 用于描述數字電路的語言
- 16.3 案例分析:離散事件模擬
- 16.2 可被重新賦值的變量和屬性
- 16.1 什么樣的對象是可變的
- 第16章 可變對象
- 15.6 結語
- 15.5 元組
- 15.4 初始化集合
- 15.3 在可變和不可變集合之間選擇
- 15.2 集和映射
- 15.1 序列
- 第15章 使用其他集合類
- 14.11 結語
- 14.10 理解Scala的類型推斷算法
- 14.9 同時處理多個列表
- 14.8 List對象的方法
- 14.7 List類的高階方法
- 14.6 List類的初階方法
- 14.5 列表模式
- 14.4 列表的基本操作
- 14.3 構建列表
- 14.2 List類型
- 14.1 List字面量
- 第14章 使用列表
- 13.9 結語
- 13.8 一個復雜的例子
- 13.7 到處都是模式
- 13.6 對Option進行模式匹配
- 13.5 密封類
- 13.4 模式重疊
- 13.3 模式守衛
- 13.2 模式的種類
- 13.1 一個簡單的例子
- 第13章 樣例類和模式匹配
- 12.8 結語
- 12.7 導出
- 12.6 頂層定義
- 12.5 訪問修飾符
- 12.4 隱式引入
- 12.3 引入
- 12.2 對相關代碼的精簡訪問
- 12.1 將代碼放進包里
- 第12章 包、引入和導出
- 11.6 結語
- 11.5 特質參數
- 11.4 為什么不用多重繼承
- 11.3 作為可疊加修改的特質
- 11.2 瘦接口和富接口
- 11.1 特質如何工作
- 第11章 特質
- 10.16 結語
- 10.15 放在一起
- 10.14 增高和增寬
- 10.13 定義工廠對象
- 10.12 實現above、beside和toString方法
- 10.11 使用組合和繼承
- 10.10 聲明final成員
- 10.9 多態和動態綁定
- 10.8 使用override修飾符
- 10.7 調用超類構造方法
- 10.6 定義參數化字段
- 10.5 重寫方法和字段
- 10.4 擴展類
- 10.3 定義無參方法
- 10.2 抽象類
- 10.1 一個二維的布局類庫
- 第10章 組合和繼承
- 9.6 結語
- 9.5 傳名參數
- 9.4 編寫新的控制結構
- 9.3 柯里化
- 9.2 簡化調用方代碼
- 9.1 減少代碼重復
- 第9章 控制抽象
- 8.11 結語
- 8.10 尾遞歸
- 8.9 SAM類型
- 8.8 特殊的函數調用形式
- 8.7 閉包
- 8.6 部分應用的函數
- 8.5 占位符語法
- 8.4 函數字面量的簡寫形式
- 8.3 一等函數
- 8.2 局部函數
- 8.1 方法
- 第8章 函數和閉包
- 7.9 結語
- 7.8 對指令式代碼進行重構
- 7.7 變量作用域
- 7.6 沒有break和continue的日子
- 7.5 match表達式
- 7.4 用try表達式實現異常處理
- 7.3 for表達式
- 7.2 while循環
- 7.1 if表達式
- 第7章 內建的控制結構
- 6.14 結語
- 6.13 注意事項
- 6.12 擴展方法
- 6.11 方法重載
- 6.10 Scala中的標識符
- 6.9 定義操作符
- 6.8 私有字段和方法
- 6.7 輔助構造方法
- 6.6 自引用
- 6.5 添加字段
- 6.4 檢查前提條件
- 6.3 重新實現toString方法
- 6.2 構建Rational實例
- 6.1 Rational類的規格定義
- 第6章 函數式對象
- 5.11 結語
- 5.10 富包裝類
- 5.9 操作符優先級和結合律
- 5.8 對象相等性
- 5.7 位運算操作
- 5.6 關系和邏輯操作
- 5.5 算術操作
- 5.4 操作符即方法
- 5.3 字符串插值
- 5.2 字面量
- 5.1 一些基礎類型
- 第5章 基礎類型和操作
- 4.6 結語
- 4.5 Scala應用程序
- 4.4 樣例類
- 4.3 單例對象
- 4.2 分號推斷
- 4.1 類、字段和方法
- 第4章 類和對象
- 結語
- 第12步 用map方法和for-yield變換
- 第11步 識別函數式編程風格
- 第10步 使用集和映射
- 第9步 使用元組
- 第8步 使用列表
- 第7步 用類型參數化數組
- 第3章 Scala入門(續)
- 結語
- 第6步 用foreach方法和for-do遍歷
- 第5步 用while做循環;用if做判斷
- 第4步 編寫Scala腳本
- 第3步 定義函數
- 第2步 定義變量
- 第1步 使用Scala解釋器
- 第2章 Scala入門
- 1.5 結語
- 1.4 Scala尋根
- 1.3 為什么要用Scala
- 1.2 是什么讓Scala能屈能伸
- 1.1 一門按需伸縮的語言
- 第1章 一門可伸縮的語言
- 引言
- 序
- 譯者序
- 推薦語
- 內容簡介
- 版權信息
- 封面
- 封面
- 版權信息
- 內容簡介
- 推薦語
- 譯者序
- 序
- 引言
- 第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 結語
- 術語表
- 關于作者
- 封底 更新時間:2022-05-06 15:53:19