沃新书屋 - 函数式编程入门
本书资料更新时间:2025-05-09 20:15:25

函数式编程入门

函数式编程入门精美图片

函数式编程入门书籍详细信息


内容简介:

函数式编程具有代码简洁、开发速度快、易理解、易维护、扩展性强的特点,在某些领域可以解决让命令式编程头痛的问题,具有广泛的应用场景和良好的发展前景。本书是函数式编程的零基础教程,以Elixir为例讲解函数式编程与命令式编程的区别,帮助读者掌握函数式编程的基本概念和思想(如不可变值、显式数据转换、模式匹配、递归函数、高阶函数、多态等),并避免新手常犯的错误。本书尤其适合对Elixir感兴趣且无函数式编程基础的读者入门学习。

书籍目录:

前言 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

作者简介:

Ulisses Almeida是Plataformatec软件公司的资深程序员、咨询师,该公司是Elixir的发明者。

其它内容:

暂无其它内容!


下载点评

  • 多终端(449+)
  • TXT(258+)
  • 强推(790+)
  • 解决急需(727+)
  • 宝藏(384+)
  • 富有哲理(750+)
  • 观点明确(195+)
  • 可编辑(247+)
  • 影印(942+)
  • 免密(777+)
  • EPUB(151+)
  • 首选(1343+)
  • 过期(212+)
  • 注释(819+)
  • 实用(404+)
  • 必下(453+)
  • 朗读(258+)
  • 章节完整(112+)

下载评论

  • 用户1734366541: ( 2024-12-17 00:29:01 )

    多格式版电子书下载秒传,支持MOBI/TXT格式导出,体验良好。

  • 用户1715043548: ( 2024-05-07 08:59:08 )

    稳定下载PDF/EPUB文件,精校报告推荐收藏,操作便捷。

  • 用户1716576602: ( 2024-05-25 02:50:02 )

    优质版本小说资源,EPUB/AZW3格式适配各种阅读设备,推荐下载。

  • 用户1727854853: ( 2024-10-02 15:40:53 )

    完整版本报告资源,EPUB/AZW3格式适配各种阅读设备,推荐下载。

  • 用户1730903178: ( 2024-11-06 22:26:18 )

    极速下载AZW3/TXT文件,完整学术推荐收藏,值得收藏。


相关书评


以下书单推荐