函數式 Swift 函数式Swift

Chris Eidhof(克裡斯·安道夫) 陳聿菡, 杜欣, 王巍

下單後立即進貨 (約4週~6週)

買這商品的人也買了...

相關主題

商品描述

Swift是一門有著合適的語言特性來適配函數式編程方法的優秀語言,對於國內的不少開發者來說,Swift可能是我們第一次真正有機會去接觸和使用的一門函數式特性語言。Swift在語法上更加優雅靈活,語言本身也遵循了函數式的設計模式。本書是一本引領你進入Swift函數式編程世界的優秀讀物,它讓更多的中國開發者有機會接觸並瞭解Swift語言函數式的一面,是廣大程序開發者不可多得的工具書。

Swift是一門有著合適的語言特性來適配函數式編程方法的優秀語言,對於國內的不少開發者來說,Swift可能是我們第一次真正有機會去接觸和使用的一門函數式特性語言。Swift在語法上更加優雅靈活,語言本身也遵循了函數式的設計模式。本書是一本引領你進入Swift函數式編程世界的優秀讀物,它讓更多的中國開發者有機會接觸並瞭解Swift語言函數式的一面,是廣大程序開發者不可多得的工具書。

作者簡介

作者:
Chris Eidhof(克里斯·安道夫)

王巍(onevcat) ,《Swifter(第2版):100個Swift 2開發必備Tip》作者,來自中國的一線iOS開發者,畢業於清華大學。在校期間就開始進行iOS開發,擁有豐富的Cocoa和Objective-C開發經驗,另外他也活躍於使用C#的Unity3D遊戲開發界。曾經開發了《小熊推金幣》,《Pomo Do》等一系列優秀的iOS遊戲和應用。在業餘時間,王巍會在OneV's Den撰寫博客,分享他在開發中的一些心得和體會。另外,王巍還是翻譯項目objc中國的組織者和管理者,為中國的Objective-C社區的發展做出了貢獻。同時,他也很喜歡為開源社區貢獻代碼,是著名的Xcode插件VVDocumenter的作者。現在王巍旅居日本,並就職於即時通訊軟件公司Line,從事iOS開發工作,致力於為全世界帶來更好體驗和功能的應用。

目錄大綱

Ⅰ函數式Swift基礎1 
第1章函數式思想2 
1.1案例:Battleship2 
1.2一等函數7 
1.3類型驅動開發11 
1.4註解11 

第2章案例研究:封裝CoreImage12 
2.1濾鏡類型12 
2.2構建濾鏡13 
模糊13 
顏色疊層13 
2.3組合濾鏡15 
複合函數16 
2.4理論背景:柯里化17 
2.5討論18 

第3章Map、Filter和Reduce20 
3.1泛型介紹20 
頂層函數和擴展24 
3.2Filter24 
3.3Reduce26 
3.4實際運用29 
3.5泛型和Any類型31 
3.6註釋32
 
第4章可選值34 
4.1案例研究:字典34 
4.2玩轉可選值37 
可選值鏈37 
分支上的可選值39 
可選映射40 
再談可選綁定41 
4.3為什麼使用可選值43 

第5章案例研究:QuickCheck47 
5.1構建QuickCheck49
生成隨機數49 
實現check函數51 
5.2縮小範圍53 
反复縮小範圍54 
5.3隨機數組55 
5.4使用QuickCheck58 
5.5展望59 

第6章不可變性的價值60 
6.1變量和引用60 
6.2值類型與引用類型61 
結構體與類:究竟是否可變63 
Objective—C64 
6.3討論65 

第7章枚舉68 
7.1關於枚舉68 
7.2關聯值71 
7.3添加泛型72 
7.4Swi中的錯誤處理74 
7.5再聊聊可選值75 
7.6數據類型中的代數學76 
7.7為什麼使用枚舉78 

第8章純函數式數據結構79 
8.1二叉搜索樹79 
8.2基於字典樹的自動補全85 
字符串字典樹91 
8.3討論93 

第9章案例研究:圖表94 
9.1繪製正方形和圓形94 
9.2核心數據結構97 
9.3計算與繪製99 
9.4創建視圖與PDF105 
9.5額外的組合算子106 
9.6討論107 

Ⅱ函數式Swift進階109
第10章生成器和序列110 
10.1生成器110 
10.2序列115 
10.3案例研究:遍歷二叉樹118 
10.4案例研究:優化QuickCheck的範圍收縮119 
10.5不止是Map與Filter123 

第11章案例研究:解析器組合算子127 
11.1核心部分127 
11.2選擇131 
11.3順序解析131 
改進133 
11.4便利組合算子138 
11.5一個簡單的計算器143 

第12章案例研究:構建一個表格應用148 
12.1示例代碼148 
12.2解析器149 
符號化149 
解析153 
12.3求值器158 
12.4GUI163 
數據源163 
代理165 
窗口控制器165 

第13章函子、適用函子與單子167 
13.1函子167 
13.2適用函子169 
13.3單子172 
13.4討論174 
第14章尾聲176 
14.1拓展閱讀177 
14.2結語178
參考文獻179