瀏覽紀錄

TOP
【反詐騙】接到可疑電話該怎麼辦?提醒您「不碰不說」。聽到「訂單錯誤要操作ATM/網銀就是詐騙」!
1/1
庫存:3
函數式編程入門:使用Elixir(簡體書)
人民幣定價:66.8元
定  價:NT$401元
優惠價: 75301
可得紅利積點:9 點

庫存:3

商品簡介

名人/編輯推薦

目次

Elixir簡單直接的語法非常適合用來學習函數式編程。 本書循序漸進地講解函數式編程的關鍵概念,包括遞歸函數、模式匹配、不可變值、顯式數據轉換、模塊、高階函數、多態函數、錯誤處理等,借助清晰明瞭的案例讓讀者在不知不覺中掌握函數式編程思想和Elixir語法。 ? 理解函數式編程的三個關鍵概念:模式匹配、遞歸、流程控制。 ? 學習在函數式編程中使用列表、元組、映射表等常用數據結構。 ? 利用高階函數改善程序的可讀性。 ? 借助流提高編程效率。 ? 使用多態和協議處理各種類型的數據。 ? 掌握錯誤處理。
函數式編程經典

函數式編程具有代碼簡潔、開發速度快、易理解、易維護、擴展性強的特點,在某些領域可以解決讓命令式編程頭痛的問題,具有廣泛的應用場景和良好的發展前景。本書是函數式編程的零基礎教程,以Elixir為例講解函數式編程與命令式編程的區別,幫助讀者掌握函數式編程的基本概念和思想(如不可變值、顯式數據轉換、模式匹配、遞歸函數、高階函數、多態等),並避免新手常犯的錯誤。本書尤其適合對Elixir感興趣且無函數式編程基礎的讀者入門學習。



學習函數式編程需要運用新的思維方式,不能急於求成。這是一本值得慢慢閱讀,仔細品味的書,它清楚地闡述了函數式編程的本質,而Elixir很適合用來學習這種編程風格。 ――Kim Shrier,獨立軟件開發者 我幾年前就發現函數式編程和併發編程是甄別優秀程序員的一個標準。Elixir是一門現代函數式編程語言,具有開發併發程序的獨特能力。本書很適合用來學習函數式編程的思維方式。 ――Nigel Lowry,Lemmata公司董事兼首席顧問 對希望學習函數式編程的程序員來說,這是一本很好的書。作者生動有趣、引人入勝的講解方式令人印象深刻。 ――Carlos Souza,Pluralsight公司程序員 本書非常適合初學者學習函數式編程和Elixir,它將為你進一步學習OTP、Phoenix、元編程奠定良好的基礎。 ――Hajba,EBCONT公司高級顧問 本書內容緊湊,行文流暢,示例代碼清晰易懂,是一本學習Elixir基礎知識不可多得的好書。 ――Stefan Wintermeyer,Wintermeyer諮詢公司創始人
前言 1 本書適合你嗎 2 這本書裡有什麼 2 選擇Elixir 3 安裝Elixir 3 運行代碼 3 在線資源 4 第1章 函數思想 5 1.1 為什麼需要函數式編程 5 1.1.1 命令式語言的局限性 6 1.1.2 轉向函數式編程 6 1.3 使用不可變數據 7 1.4 使用函數構建程序 9 1.4.1 明確地使用值 9 1.4.2 在參數中使用函數 11 1.4.3 值的轉換 11 1.5 聲明式編程 12 1.6 小結 14 第2章 使用變量和函數 15 2.1 表示值 15 2.2 執行代碼並生成結果 17 2.2.1 創建邏輯表達式 19 2.3 變量值綁定 20 2.4 創建匿名函數 22 2.4.1 函數是一等公民 24 2.4.2 在不使用參數的情況下共享值 25 2.5 具名函數 29 2.5.1 Elixir的具名函數 29 2.5.2 創建模塊和函數 30 2.5.3 導入具名函數 33 2.5.4 將具名函數作為值使用 34 2.6 結束語 36 2.6.1 練習 36 第3章 使用模式匹配控制程序流程 39 3.1 模式匹配 39 3.2 從各種數據中提取值 41 3.2.1 匹配部分字符串 41 3.2.2 匹配元組 42 3.2.3 匹配列表 45 3.2.4 匹配映射表 48 3.2.5 映射表與關鍵字列表 50 3.2.6 匹配結構體 50 3.3 用函數控制流程 52 3.3.1 函數的默認值 54 3.4 使用衛語句控制流程 55 3.5 Elixir的流程控制結構 60 3.5.1 Case:使用模式匹配進行控制 60 3.5.2 Cond:使用邏輯表達式進行控制 62 3.5.3 使用if和unless表達式 62 3.6 小結 64 第4章 運用遞歸 67 4.1 有界遞歸 67 4.1.1 遍歷列表 69 4.1.2 轉換列表 70 4.2 遞歸治理 73 4.2.1 減治法 74 4.2.2 分治法 75 4.3 尾調用優化 79 4.4 無界遞歸函數 82 4.4.1 添加界限 84 4.4.2 避免無限循環 85 4.5 遞歸調用匿名函數 87 4.6 小結 88 第5章 使用高階函數 91 5.1 處理列表的高階函數 92 5.1.1 遍歷列表 92 5.1.2 轉換列表 93 5.1.3 將列表歸納為一個值 95 5.1.4 過濾列表項 96 5.2 使用 Enum 模塊 97 5.3 使用推導式 99 5.4 管道運算符 100 5.5 延遲計算 103 5.5.1 延遲執行函數 103 5.5.2 處理無限數據 105 5.5.3 數據流管道 108 5.6 小結 112 5.6.1 練習 112 第6章 設計Elixir應用程序 113 6.1 使用Mix創建項目 113 6.1.1 我們將創建什麼 114 6.1.2 運行新任務 115 6.1.3 創建啟動任務 117 6.2 設計實體的結構體 118 6.2.1 創建角色的結構體 118 6.2.2 列出英雄 120 6.2.3 選擇一個英雄角色 123 6.3 使用協議創建多態函數 126 6.3.1 構建引用結構體的結構體 126 6.3.2 重構模塊和複用函數 127 6.3.3 使用協議顯示角色和動作 130 6.4 創建模塊行為 133 6.4.1 使用Elixir行為創建出口 134 6.4.2 添加類型規範 137 6.4.3 戰鬥到底 140 6.5 小結 146 6.5.1 練習 146 第7章 處理非純函數 149 7.1 純函數與非純函數 150 7.1.1 純函數 150 7.1.2 非純函數 151 7.2 控制非純函數的流程 153 7.3 Try、Rescue、Catch 157 7.3.1 Try、Raise、Rescue 157 7.3.2 Try、Throw、Catch 159 7.4 使用錯誤單子處理非純函數 161 7.5 使用with 167 7.6 小結 169 7.6.1 練習 170 7.6.2 尾聲 170 附錄1 為遊戲添加房間 173 附錄2 練習答案 177 A2.1 第2章練習答案 177 A2.2 第3章練習答案 178 A2.3 第4章練習答案 181 A2.4 第5章練習答案 184 參考書目 187 致謝 189 索引 191

購物須知

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約20個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。