热门搜索: 中考 高考 考试 开卷17
服务电话 024-96192/23945006
 

函数式编程入门:使用Elixir

编号:
wx1202083438
销售价:
¥55.44
(市场价: ¥66.80)
赠送积分:
55
数量:
   
商品介绍

函数式编程具有代码简洁、开发速度快、易理解、易维护、扩展性强的特点,在某些领域可以解决让命令式编程头痛的问题,具有广泛的应用场景和良好的发展前景。本书是函数式编程的零基础教程,以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 章 函数思想 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

商品参数
基本信息
出版社 华中科技大学出版社
ISBN 9787568061711
条码 9787568061711
编者 乌利斯·阿尔梅达
出版年月 2020-07-01 00:00:00.0
开本 16开
装帧 平装
页数 204
字数 220
版次 1
印次 1
纸张 70g胶版纸
商品评论

暂无商品评论信息 [发表商品评论]

商品咨询

暂无商品咨询信息 [发表商品咨询]