Scala程式實戰(原書第2版) Scala Cookbook: Recipes for Object-Oriented and Functional Programming
Alexander, Alvin 譯者:陳凱//李國斌//李力//黃新星
- 出版商: 機械工業
- 出版日期: 2023-09-01
- 定價: $1,194
- 售價: 7.0 折 $836
- 語言: 簡體中文
- 頁數: 713
- 裝訂: 平裝
- ISBN: 7111732790
- ISBN-13: 9787111732792
-
相關分類:
Functional-programming
- 此書翻譯自: Scala Cookbook: Recipes for Object-Oriented and Functional Programming
立即出貨(限量) (庫存=2)
中文年末書展|繁簡參展書2書75折 詳見活動內容 »
-
75折
為你寫的 Vue Components:從原子到系統,一步步用設計思維打造面面俱到的元件實戰力 (iThome 鐵人賽系列書)$780$585 -
75折
BDD in Action, 2/e (中文版)$960$720 -
75折
看不見的戰場:社群、AI 與企業資安危機$750$563 -
79折
AI 精準提問 × 高效應用:DeepSeek、ChatGPT、Claude、Gemini、Copilot 一本搞定$390$308 -
7折
超實用!Word.Excel.PowerPoint 辦公室 Office 365 省時高手必備 50招, 4/e (暢銷回饋版)$420$294 -
75折
裂縫碎光:資安數位生存戰$550$412 -
日本當代最強插畫 2025 : 150位當代最強畫師豪華作品集$640$576 -
79折
Google BI 解決方案:Looker Studio × AI 數據驅動行銷實作,完美整合 Google Analytics 4、Google Ads、ChatGPT、Gemini$630$498 -
79折
超有料 Plus!職場第一實用的 AI 工作術 - 用對 AI 工具、自動化 Agent, 讓生產力全面進化!$599$473 -
75折
從零開始學 Visual C# 2022 程式設計, 4/e (暢銷回饋版)$690$518 -
75折
Windows 11 制霸攻略:圖解 AI 與 Copilot 應用,輕鬆搞懂新手必學的 Windows 技巧$640$480 -
75折
精準駕馭 Word!論文寫作絕非難事 (好評回饋版)$480$360 -
Sam Yang 的插畫藝術:用 Procreate / PS 畫出最強男友視角 x 女孩美好日常$699$629 -
79折
AI 加持!Google Sheets 超級工作流$599$473 -
78折
想要 SSR? 快使用 Nuxt 吧!:Nuxt 讓 Vue.js 更好處理 SEO 搜尋引擎最佳化(iThome鐵人賽系列書)$780$608 -
78折
超實用!業務.總管.人資的辦公室 WORD 365 省時高手必備 50招 (第二版)$500$390 -
7折
Node-RED + YOLO + ESP32-CAM:AIoT 智慧物聯網與邊緣 AI 專題實戰$680$476 -
79折
「生成式⇄AI」:52 個零程式互動體驗,打造新世代人工智慧素養$599$473 -
7折
Windows APT Warfare:惡意程式前線戰術指南, 3/e$720$504 -
75折
我輩程式人:回顧從 Ada 到 AI 這條程式路,程式人如何改變世界的歷史與未來展望 (We, Programmers: A Chronicle of Coders from Ada to AI)$850$637 -
75折
不用自己寫!用 GitHub Copilot 搞定 LLM 應用開發$600$450 -
79折
Tensorflow 接班王者:Google JAX 深度學習又快又強大 (好評回饋版)$780$616 -
79折
GPT4 會你也會 - 共融機器人的多模態互動式情感分析 (好評回饋版)$700$553 -
79折
技術士技能檢定 電腦軟體應用丙級術科解題教本|Office 2021$460$363 -
75折
Notion 與 Notion AI 全能實戰手冊:生活、學習與職場的智慧策略 (暢銷回饋版)$560$420
相關主題
商品描述
本書是一本涉及Scala 3基礎知識與實際應用的實踐指南。
本書基於Scala 3,不僅詳細介紹了Scala有關的所有基礎知識,包括入門基礎、功能、語言本身、概念、工具、
函式庫、框架、型別、集合、類別、方法、函數式程式設計技術等,也透過實際的程式碼範例展示了Scala 3的語言優勢和特點,
並以問答形式提供了許多解決方案,包含250多個常見的Scala程式設計問題和1000多個基於真實場景的程式碼範例,
涵蓋了使用Scala 3及其流行庫時遇到的常見問題。
本書適合所有的Scala開發人員以及初級類別庫設計師閱讀。
作者簡介
阿爾文·亞歷山大(Alvin Alexander),於美國得州農工大學獲得了航空航天工程學位。畢業後,他成了一名專業航空工程師,負責維護所在工程組的FORTRAN軟件系統。他很快就喜歡上了這項工作,並想學習更多的編程知識,因此他自學了C語言。隨後,他又學習了UNIX和網絡管理、Perl、Java、Python、Ruby,以及Scala和Kotlin。在這個過程中,他創辦了一家軟件咨詢公司,公司成員曾達15人。後來他出售了公司,並搬到了阿拉斯加。
目錄大綱
目錄
前言1
第1章 命令列13
1.1 初識Scala REPL14
1.2 在REPL中使用原始碼和JAR檔17
1.3 初識Ammonite REPL20
1.4 scalac和scala命令23
1.5 反編譯Scala程式碼25
1.6 運行JAR檔28
第2章 字符串31
2.1 字串的相等性判斷34
2.2 多行字串的建立35
2.3 字串的分割37
2.4 字串的變量代入38
2.5 字串輸出的格式化41
2.6 字串的逐字處理44
2.7 字串的模式查找49
2.8 字串的模式替換51
2.9 使用模式匹配提取字串52
2.10 存取字串中的單一字符54
2.11 自訂字串插值器55
2.12 建立隨機字串58
第3章 數值和日期61
3.1 將字串解析為數值64
3.2 數值類型間的轉換66
3.3 覆蓋默認的數值類型69
3.4 和--的替代方案71
3.5 浮點數的比較72
3.6 處理大數值74
3.7 產生隨機數76
3.8 數值和貨幣的格式化78
3.9 建立新的日期和時間實例83
3.10 計算日期的差值85
3.11 日期的格式化86
3.12 將字串解析為日期89
第4章 控制結構92
4.1 for循環95
4.2 多重for循環98
4.3 for循環中的守衛語句100
4.4 集合中的for/yield101
4.5 Scala中的「三元操作符」103
4.6 match表達式104
4.7 case的多條件匹配108
4.8 將match表達式的結果分配給變量109
4.9 存取match表達式的默認值110
4.10 match表達式與模式匹配110
4.11 match表達式與枚舉和範例類別116
4.12 case中的守衛語句118
4.13 match表達式與isInstanceOf120
4.14 match表達式與List122
4.15 用try/catch匹配一個或多個異常125
4.16 try/catch/finally128
4.17 建立自訂控制結構130
第5章 類133
5.1 挑選合適的領域建模工具134
5.2 建立主建構函式140
5.3 控制建構函式字段的可見性143
5.4 定義輔助建構函數146
5.5 定義私有的主建構子148
5.6 建構函數參數的默認值150
5.7 類別繼承時的建構子151
5.8 呼叫父類別的建構子154
5.9 定義equals方法(物件相等性)156
5.10 阻止產生存取方法和修改方法163
5.11 覆蓋默認的存取方法和修改方法166
5.12 將程式碼區塊或函數賦值給惰性字段168
5.13 設定未初始化的var字段170
5.14 範例類別產生的模板代碼171
5.15 定義範例類別的輔助建構子176
第6章 特質與枚舉178
6.1 特質的接口用法180
6.2 定義特質的抽象字段182
6.3 特質的抽象類別用法184
6.4 特質的混入用法185
6.5 多特質同名方法處理與super關鍵字187
6.6 限製特質的拓展(僅支援特定類型的子類)191
6.7 限製特質的拓展(僅支援具有特定方法的類型)194
6.8 限製特質的拓展(僅支援特定的類)195
6.9 使用參數化特質196
6.10 特質的構造參數198
6.11特質與模組202
6.12 用枚舉建立命名值的集208
6.13 以枚舉建模ADT210
第7章 對象215
7.1 物件的強制轉換215
7.2 用classOf方法傳遞Class型別217
7.3 用object建立單例物件218
7.4 用伴生物件建立靜態成員219
7.5 用apply方法作為建構子221
7.6 用apply方法實作靜態工廠223
7.7 將特質具體化成對象224
7.8 unapply方法與模式匹配227
第8章 方法230
8.1 控制方法的作用域232
8.2 呼叫父類別或特質的方法236
8.3 呼叫方法時使用參數名稱239
8.4 設定參數的默認值240
8.5 可變參數242
8.6 無括號的方法呼叫243
8.7 聲明異常244
8.8 支援鍊式呼叫風格246
8.9 擴展方法249
第9章 包和導入251
9.1 大括號風格的包裝語法252
9.2 導入一個或多個成員254
9.3 導入並重新命名成員255
9.4 導入時隱藏類別257
9.5 導入靜態成員258
9.6 無所不在的導入語句260
9.7 導入given262
第10章 函數式程式設計265
10.1 使用函數字面量(匿名函數)272
10.2 將函數當作變量傳遞275
10.3 將函數作為方法的參數280
10.4 聲明高階函數282
10.5 使用部分應用函數285
10.6 建立返回函數的方法288
10.7 建立偏函數291
10.8 實作函數式錯誤處理295
10.9 實際案例:在演算法中傳遞函數298
10.10 實際案例:函數式領域建模300
第11章 集合:介紹308
11.1 選擇適當的集合類別314
11.2 集合的表現比較319
11.3 不可變集合與可變變量322
11.4 建立惰性視圖323
第12章 集合:序列類326
12.1 Vector328
12.2 建立並填入List330
12.3 List的新增操作333
12.4 List和ListBuffer的刪除操作335
12.5 使用ListBuffer建立可變列表337
12.6 LazyList338
12.7 ArrayBuffer340
12.8 Array和ArrayBuffer的刪除操作342
12.9 建立並更新數組344
12.10 建立多維數組347
12.11 數組排序350
第13章 集合:常見的序列方法353
13.1選擇合適的集合方法355
13.2 foreach方法362
13.3 疊代器364
13.4 zipWithIndex和zip方法368
13.5 map方法370
13.6 flatten方法373
13.7 filter方法375
13.8 從集合中提取元素序列378
13.9 序列的拆分380
13.10 reduce和fold方法382
13.11 序列的去重387
13.12 序列的合併388
13.13 序列的隨機化391
13.14 集合排序392
13.15 mkString和addString方法397
第14章 集合:映射400
14.1 建立並使用映射400
14.2選擇合適的映射403
14.3 不可變映射的新增、更新和刪除操作406
