登入帳戶  | 訂單查詢  | 購物車/收銀台( 0 ) | 在線留言板  | 付款方式  | 運費計算  | 聯絡我們  | 幫助中心 |  加入書簽
會員登入 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類瀏覽雜誌 臺灣用戶
品種:超過100萬種各類書籍/音像和精品,正品正價,放心網購,悭钱省心 服務:香港台灣澳門海外 送貨:速遞郵局服務站

新書上架簡體書 繁體書
暢銷書架簡體書 繁體書
好書推介簡體書 繁體書

八月出版:大陸書 台灣書
七月出版:大陸書 台灣書
六月出版:大陸書 台灣書
五月出版:大陸書 台灣書
四月出版:大陸書 台灣書
三月出版:大陸書 台灣書
二月出版:大陸書 台灣書
一月出版:大陸書 台灣書
12月出版:大陸書 台灣書
11月出版:大陸書 台灣書
十月出版:大陸書 台灣書
九月出版:大陸書 台灣書
八月出版:大陸書 台灣書
七月出版:大陸書 台灣書
六月出版:大陸書 台灣書

『簡體書』函数式编程入门:使用Elixir

書城自編碼: 3506766
分類:簡體書→大陸圖書→計算機/網絡數據庫
作者: [匈]乌利斯·阿尔梅达
國際書號(ISBN): 9787568061711
出版社: 华中科技大学出版社
出版日期: 2020-05-01

頁數/字數: /
書度/開本: 16开 釘裝: 平装

售價:HK$ 88.2

我要買

 

** 我創建的書架 **
未登入.


新書推薦:
杯中风土:日本酒的文化史
《 杯中风土:日本酒的文化史 》

售價:HK$ 90.9
简读中国史(全四册)
《 简读中国史(全四册) 》

售價:HK$ 282.4
全球基础研究人才指数报告(2023)
《 全球基础研究人才指数报告(2023) 》

售價:HK$ 342.7
20世纪40年代以来中国大陆海岸线演变特征
《 20世纪40年代以来中国大陆海岸线演变特征 》

售價:HK$ 423.2
更好的行为:给教师的指南(教师成长系列)
《 更好的行为:给教师的指南(教师成长系列) 》

售價:HK$ 78.2
闽南佛教寺庙建筑艺术与景观研究
《 闽南佛教寺庙建筑艺术与景观研究 》

售價:HK$ 181.7
烧掉你的船:将焦虑转化为积极行动的9个策略
《 烧掉你的船:将焦虑转化为积极行动的9个策略 》

售價:HK$ 68.8
虚无主义与崇高的后现代:从浪漫主义到后现代主义一段艰难关系的历史(故事)
《 虚无主义与崇高的后现代:从浪漫主义到后现代主义一段艰难关系的历史(故事) 》

售價:HK$ 90.9

 

編輯推薦:
函数式编程具有代码简洁、开发速度快、易理解、易维护、扩展性强的特点,在某些领域可以解决让命令式编程头痛的问题,具有广泛的应用场景和良好的发展前景。本书是函数式编程的零基础教程,以Elixir为例讲解函数式编程与命令式编程的区别,帮助读者掌握函数式编程的基本概念和思想(如不可变值、显式数据转换、模式匹配、递归函数、高阶函数、多态等),并避免新手常犯的错误。本书尤其适合对Elixir感兴趣且无函数式编程基础的读者入门学习。
內容簡介:
Elixir简单直接的语法非常适合用来学习函数式编程。
本书循序渐进地讲解函数式编程的关键概念,包括递归函数、模式匹配、不可变值、显式数据转换、模块、高阶函数、多态函数、错误处理等,借助清晰明了的案例让读者在不知不觉中掌握函数式编程思想和Elixir语法。
理解函数式编程的三个关键概念:模式匹配、递归、流程控制。
学习在函数式编程中使用列表、元组、映射表等常用数据结构。
利用高阶函数改善程序的可读性。
借助流提高编程效率。
使用多态和协议处理各种类型的数据。Elixir简单直接的语法非常适合用来学习函数式编程。
本书循序渐进地讲解函数式编程的关键概念,包括递归函数、模式匹配、不可变值、显式数据转换、模块、高阶函数、多态函数、错误处理等,借助清晰明了的案例让读者在不知不觉中掌握函数式编程思想和Elixir语法。
理解函数式编程的三个关键概念:模式匹配、递归、流程控制。
学习在函数式编程中使用列表、元组、映射表等常用数据结构。
利用高阶函数改善程序的可读性。
借助流提高编程效率。
使用多态和协议处理各种类型的数据。
?掌握错误处理。
關於作者:
Ulisses Almeida是Plataformatec软件公司的资深程序员、咨询师,该公司是Elixir的发明者。Ulisses Almeida is a software consultant at Plataformatec, the company that created Elixir. He works on crafting applications, coaching beginner developers, and advising customers on best practices to build robust and maintainable systems.
目錄
前言 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
內容試閱
自我的上一本译作《Elixir程序设计》出版已经过去了三年。Elixir也从1.2版本更新到了1.10版本。官方一直保持着每半年更新一个大版本的节奏。在这些更新版本中,有关语法的变化越来越少,针对库、工具链、使用体验、性能的更新越来越多,特别是1.9版本,Jos Valim声称Release是最后一个计划中的特性。我真为Elixir的日臻完善而感到高兴。
很多人把Elixir比作Erlang平台的Ruby。诚然,Elixir的作者和贡献者从Ruby身上借用了许多设计。Ruby的编程体验可以说是令人惊艳的,其动态、简洁、元编程都是Java、Golang、Python这些同时的编程语言所不具备的。当然,Ruby在性能和并发编程方面也有不足。Elixir选择将其基座造在BEAM(Erlang VM)之上,BEAM以9个9的可用性(31毫秒年的宕机时间)而著称。就并发而言,Actor模型曾经是Erlang的优势之一,但今天Rust的Actix和Java的Vert.x性能测评甚至比Erlang还要好。Erlang的真正优势在于抢占式调度带来的低延时和软实时性。Elixir的设计目标是更高的可扩展性、更高的生产力,同时保持跟Erlang生态圈的兼容性。
Elixir的官方定义为:一种用于构建可伸缩、可维护应用的动态、函数式编程语言(Elixir is a dynamic, functional language designed for building scalable and maintainable applications.)。下面我们就来谈谈Elixir与众不同的地方。
相比于大家熟悉的面向对象编程(OOP),函数式编程(FP)更强调程序执行的结果而不是过程,它倡导利用若干简单的执行单元渐进地、逐层地完成运算,而不是设计一个复杂的执行过程。每个函数的执行结果只依赖于函数的参数,而不受其他数据的影响。严格的函数式语言要求函数必须无副作用。

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 大陸用户 | 海外用户
megBook.com.hk
Copyright © 2013 - 2024 (香港)大書城有限公司  All Rights Reserved.