第1章 簡介 1
1.1 為何選擇Scala 1
1.2 何為Scala 3
1.3 函數式編程 7
1.4 本書的內容 9
1.5 本書麵嚮的讀者 11
1.6 緻謝 11
第2章 起步 13
2.1 下載Scala 13
2.2 安裝Scala 13
2.2.1 在Windows上安裝Scala 14
2.2.2 在類UNIX係統上安裝Scala 14
2.3 讓Scala跑起來 15
2.4 命令行上的Scala 16
2.5 把Scala代碼當作腳本運行 17
2.5.1 在類UNIX係統上作為腳本運行 17
2.5.2 在Windows上作為腳本運行 18
2.6 在IDE裏麵運行Scala 18
2.7 編譯Scala 19
第3章 Scala步入正軌 20
3.1 把Scala當作簡潔的Java 20
3.2 Java基本類型對應的Scala類 23
3.3 元組與多重賦值 23
3.4 字符串與多行原始字符串 25
3.5 自適應的默認做法 26
3.6 運算符重載 27
3.7 Scala帶給Java程序員的驚奇 29
3.7.1 賦值的結果 29
3.7.2 Scala的== 30
3.7.3 分號是半可選的 31
3.7.4 默認的訪問修飾符 32
3.7.5 默認的訪問修飾符以及如何修改 32
3.7.6 Scala的Protected 33
3.7.7 細粒度訪問控製 34
3.7.8 避免顯式return 35
第4章 Scala的類 37
4.1 創建類 37
4.2 定義字段、方法和構造函數 38
4.3 類繼承 41
4.4 單例對象 42
4.5 獨立對象和伴生對象 43
4.6 Scala中的static 44
第5章 自適應類型 46
5.1 容器和類型推演 47
5.2 Any類型 49
5.3 關於Nothing的更多情況 50
5.4 Option類型 50
5.5 方法返迴類型推演 51
5.6 傳遞變參 52
5.7 參數化類型的可變性 53
第6章 函數值和閉包 57
6.1 從普通函數邁嚮高階函數 57
6.2 函數值 58
6.3 具有多參數的函數值 59
6.4 Curry化 61
6.5 重用函數值 62
6.6 參數的位置記法 64
6.7 Execute Around Method模式 65
6.8 偏應用函數 67
6.9 閉包 68
第7章 Trait和類型轉換 70
7.1 Trait 70
7.2 選擇性混入 72
7.3 以trait進行裝飾 74
7.4 Trait方法的延遲綁定 75
7.5 隱式類型轉換 77
第8章 使用容器 81
8.1 常見的Scala容器 81
8.2 使用Set 82
8.3 使用Map 83
8.4 使用List 85
8.5 for錶達式 90
第9章 模式匹配和正則錶達式 93
9.1 匹配字麵量和常量 93
9.2 匹配通配符 94
9.3 匹配元組和列錶 94
9.4 類型和衛述句的匹配 96
9.5 case錶達式裏的模式變量和常量 96
9.6 對XML片段進行模式匹配 98
9.7 使用case類進行模式匹配 98
9.8 使用提取器進行匹配 100
9.9 正則錶達式 103
9.10 把正則錶達式當做提取器 104
第10章 並發編程 106
10.1 促進不變性 106
10.2 使用Actor的並發 107
10.3 消息傳遞 110
10.4 Actor類 113
10.5 actor方法 115
10.6 receive和receiveWithin方法 117
10.7 react和reactWithin方法 120
10.8 loop和loopWhile 124
10.9 控製綫程執行 125
10.10 在各種接收方法中選擇 127
第11章 與Java互操作 128
11.1 在Scala裏使用Scala類 128
11.2 在Scala裏使用Java類 130
11.3 在Java裏使用Scala類 132
11.3.1 有普通函數和高階函數的Scala類 132
11.3.2 同trait一起工作 134
11.3.3 單例對象和伴生對象 134
11.4 繼承類 136
第12章 用Scala做單元測試 138
12.1 使用JUnit 138
12.2 使用ScalaTest 139
12.3 以Canary測試開始 140
12.4 使用Runner 140
12.5 Asserts 142
12.6 異常測試 144
12.7 在測試間共享代碼 146
12.7.1 用BeforeAndAfter共享代碼 146
12.7.2 用閉包共享代碼 147
12.8 FunSuite的函數式風格 148
12.9 用JUnit運行ScalaTest 149
第13章 異常處理 152
13.1 異常處理 152
13.2 注意catch順序 154
第14章 使用Scala 156
14.1 淨資産應用實例 156
14.2 獲取用戶輸入 156
14.3 讀寫文件 157
14.4 XML,作為一等公民 159
14.5 讀寫XML 161
14.6 從Web獲取股票價格 164
14.7 讓淨資産應用並發 167
14.8 為淨資産應用增加GUI 168
附錄A Web資源 178
· · · · · · (
收起)
評分
☆☆☆☆☆
因為Spark裏用瞭Scale纔看的這本書,UCB的牛就是猛。很多概念,如閉包、actor以前也接觸過,也就沒有什麼感覺,不太喜歡Scala(包括Ruby)裏麵的語法糖,書很薄,內容太少。
評分
☆☆☆☆☆
因為Spark裏用瞭Scale纔看的這本書,UCB的牛就是猛。很多概念,如閉包、actor以前也接觸過,也就沒有什麼感覺,不太喜歡Scala(包括Ruby)裏麵的語法糖,書很薄,內容太少。
評分
☆☆☆☆☆
因為Spark裏用瞭Scale纔看的這本書,UCB的牛就是猛。很多概念,如閉包、actor以前也接觸過,也就沒有什麼感覺,不太喜歡Scala(包括Ruby)裏麵的語法糖,書很薄,內容太少。
評分
☆☆☆☆☆
有點(副)標題黨 ...
評分
☆☆☆☆☆
因為Spark裏用瞭Scale纔看的這本書,UCB的牛就是猛。很多概念,如閉包、actor以前也接觸過,也就沒有什麼感覺,不太喜歡Scala(包括Ruby)裏麵的語法糖,書很薄,內容太少。
評分
☆☆☆☆☆
目标读者定位很明确,就是帮助Java程序员熟悉Scala语言。 可能是由于Scala的确有很多新颖(或者说不太适应)的东西,加上一些概念还没有标准化翻译,所以感觉还是稍欠打磨。 不过这本书还是推荐作为Scala入门书籍,对初接触Scala的人来说,还是很不错。 另外,我觉得译作加上...
評分
☆☆☆☆☆
很薄而有精炼的一本书,通过ipad在上班的地铁上把这本书E文版看完了。一个Java程序员,看完一遍,基本上可以比较顺利的使用Scala了写程序了。有了Scala,你还会期待慢腾腾的Java 7,8,9,10..的新特性么?打算在一些小的项目、工具和机器学习的实验代码中使用并熟悉scala语言。对...
評分
☆☆☆☆☆
这两个关键词: 1、适合Java开发者 2、快速入门Scala 概念清楚,条理清晰。很多在Java眼里很晦涩的概念解释的非常合理和透彻。看完这本之后再看更深的书会容易的多。
評分
☆☆☆☆☆
大师们都推荐,每个人至少学第二门编程语言。在看scala之前,学C#的同学一直诟病Java的语法:一潭死水、不吸取新的特色。当时,我只能用C#问世比Java晚借鉴Java的长处弥补不足为条件力辩--后来人依葫芦画瓢然后避免前人犯的一些错误就Ok,而且,你不能期待微软模拟出来...
評分
☆☆☆☆☆
译者的辛苦努力首先要得到承认。但不得不说这本书的内容有点鸡肋。很多东西都没写清楚,行文不太流畅,有个别错误。作为一名Java程序员如果打算了解Scala,IBM developer有几篇不错的文章。如果打算全面了解Scala,这本薄薄的书的内容实在太少。 总之,买这本书,有点亏得慌!