Erlang趣学指南
目录
第1章 启程 1
1.1 使用Erlang shell 1
1.1.1 输入shell命令 1
1.1.2 退出shell 2
1.2 Erlang基础知识 3
1.2.1 数值类型 3
1.2.2 不变的变量 4
1.2.3 原子 5
1.2.4 布尔代数和比较操作符 6
查看完整
第1章 启程 1
1.1 使用Erlang shell 1
1.1.1 输入shell命令 1
1.1.2 退出shell 2
1.2 Erlang基础知识 3
1.2.1 数值类型 3
1.2.2 不变的变量 4
1.2.3 原子 5
1.2.4 布尔代数和比较操作符 6
查看完整
作者介绍Fred Hébert是一位自学成才的程序员,具有Web前端、Web 服务开发经验以及全面的后端多语言编程经验。他撰写的Erlang在线教程Learn You Some Erlang for Great Good! 被公认为好的Erlang学习教程。在Erlang Solutions工作期间,他撰写过Erlang培训资料,并在西方国家到处教授Erlang编程。目前,他在用Erlang开发一款实时竞价平台(AdGear),他被提名为2012年度Erlang User。译者介绍邓辉 独立咨询顾问,捷中科技首席架构师,有10年Erlang编程经验。《敏捷软件开发:原则、模式与实践》一书的译者,Erlang领域两本重要著作《面对软件错误构建可靠的分布式系统》《硝烟中的Erlang》中文译本的审校者和译者。对指示语义、类型理论、程序语言理论和分布式系统设计有浓厚的兴趣。目前在研究学习TLA 。孙鸣 中兴通讯杰出架构师,具有丰富的电信软件架构设计经验。《…
查看完整
查看完整
这是一本讲解Erlang编程语言的入门指南,内容通俗易懂,插图生动幽默,示例短小清晰,结构安排合理。书中从Erlang的基础知识讲起,融汇所有的基本概念和语法。内容涉及模块、函数、类型、递归、错误和异常、常用数据结构、并行编程、多处理、OTP、事件处理,以及所有Erlang的重要特性和强大功能。
目录
第1章 启程 1
1.1 使用Erlang shell 1
1.1.1 输入shell命令 1
1.1.2 退出shell 2
1.2 Erlang基础知识 3
1.2.1 数值类型 3
1.2.2 不变的变量 4
1.2.3 原子 5
1.2.4 布尔代数和比较操作符 6
1.2.5 元组 8
1.2.6 列表 10
1.2.7 列表推导式 13
1.3 处理二进制数据 14
1.3.1 位语法 15
1.3.2 二进制数的按位操作 17
1.3.3 二进制字符串 18
1.3.4 二进制推导式 19
第2章 模块 20
2.1 什么是模块 20
2.2 创建模块 21
2.3 编译代码 23
2.4 定义宏 26
2.5 模块的其他内容 27
2.5.1 元数据 27
2.5.2 环形依赖 28
第3章 函数 29
3.1 模式匹配 29
3.1.1 模式进阶 31
3.1.2 绑定中的变量 31
3.2 卫语句 33
3.3 if表达式 34
3.4 case ... of表达式 37
3.5 如何选择 38
第4章 类型 39
4.1 动态强类型 39
4.2 类型转换 40
4.3 数据类型检测函数 41
4.4 致静态类型爱好者 43
第5章 递归 44
5.1 递归的工作原理 44
5.1.1 列表的长度 45
5.1.2 列表长度的尾递归实现 46
5.2 更多递归函数 47
5.2.1 duplicate函数 47
5.2.2 reverse函数 48
5.2.3 sublist函数 49
5.2.4 zip函数 50
5.2.5 快速排序 51
5.3 不仅仅是列表 53
5.4 递归思维 55
第6章 高阶函数 58
6.1 一切都是函数 58
6.2 匿名函数 60
6.2.1 匿名函数的其他用途 60
6.2.2 函数的作用域和闭包 61
6.3 映射、过滤器、折叠以及其他 63
6.3.1 过滤器 63
6.3.2 折叠一切 64
6.3.3 其他抽象 66
第7章 错误和异常 67
7.1 错误编译 67
7.1.1 编译期错误 67
7.1.2 逻辑错误 69
7.1.3 运行时错误 69
7.2 引发异常 71
7.2.1 出错异常 71
7.2.2 退出异常 72
7.2.3 抛出异常 73
7.3 处理异常 74
7.3.1 处理不同类型的异常 74
7.3.2 catch后的after语句 76
7.3.3 尝试多个表达式 76
7.3.4 更多选择 78
7.4 在树中使用try语句 80
第8章 用函数式思维解决问题 82
8.1 逆波兰式计算器 82
8.1.1 RPN计算器的工作原理 82
8.1.2 实现RPN计算器 84
8.1.3 代码测试 85
8.2 从希思罗到伦敦 87
8.2.1 递归地解决问题 87
8.2.2 编写代码 89
8.2.3 不使用Erlang shell运行程序 93
第9章 常用数据结构简介 95
9.1 记录 95
9.1.1 定义记录 95
9.1.2 读取记录字段值 97
9.1.3 更新记录 99
9.1.4 共享记录定义 99
9.2 键/值存储 100
9.2.1 小数据量存储 100
9.2.2 大数据量存储:字典和通用平衡树 101
9.3 集合 102
9.4 有向图 104
9.5 队列 104
9.6 小结 105
第10章 并发编程漫游指南 106
10.1 不必惊慌 106
10.2 并发概念 107
10.2.1 伸缩性 108
10.2.2 容错 108
10.2.3 并发实现 109
10.3 并非完全不能线性伸缩 110
10.4 再见,谢谢你的鱼 111
10.4.1 创建进程 112
10.4.2 发送消息 113
10.4.3 接收消息 114
第11章 深入多重处理 118
11.1 定义进程状态 118
11.2 隐藏消息实现 120
11.3 超时 121
11.4 选择性接收 123
11.4.1 选择性接收的风险 124
11.4.2 邮箱使用的其他风险 126
第12章 错误与进程 127
12.1 链接 127
12.1.1 捕获退出信号 129
12.1.2 老异常,新概念 130
12.2 监控器 133
12.3 命名进程 134
第13章 并发应用设计 139
13.1 理解问题 139
13.2 设计协议 141
13.3 目录
^ 收 起
第1章 启程 1
1.1 使用Erlang shell 1
1.1.1 输入shell命令 1
1.1.2 退出shell 2
1.2 Erlang基础知识 3
1.2.1 数值类型 3
1.2.2 不变的变量 4
1.2.3 原子 5
1.2.4 布尔代数和比较操作符 6
1.2.5 元组 8
1.2.6 列表 10
1.2.7 列表推导式 13
1.3 处理二进制数据 14
1.3.1 位语法 15
1.3.2 二进制数的按位操作 17
1.3.3 二进制字符串 18
1.3.4 二进制推导式 19
第2章 模块 20
2.1 什么是模块 20
2.2 创建模块 21
2.3 编译代码 23
2.4 定义宏 26
2.5 模块的其他内容 27
2.5.1 元数据 27
2.5.2 环形依赖 28
第3章 函数 29
3.1 模式匹配 29
3.1.1 模式进阶 31
3.1.2 绑定中的变量 31
3.2 卫语句 33
3.3 if表达式 34
3.4 case ... of表达式 37
3.5 如何选择 38
第4章 类型 39
4.1 动态强类型 39
4.2 类型转换 40
4.3 数据类型检测函数 41
4.4 致静态类型爱好者 43
第5章 递归 44
5.1 递归的工作原理 44
5.1.1 列表的长度 45
5.1.2 列表长度的尾递归实现 46
5.2 更多递归函数 47
5.2.1 duplicate函数 47
5.2.2 reverse函数 48
5.2.3 sublist函数 49
5.2.4 zip函数 50
5.2.5 快速排序 51
5.3 不仅仅是列表 53
5.4 递归思维 55
第6章 高阶函数 58
6.1 一切都是函数 58
6.2 匿名函数 60
6.2.1 匿名函数的其他用途 60
6.2.2 函数的作用域和闭包 61
6.3 映射、过滤器、折叠以及其他 63
6.3.1 过滤器 63
6.3.2 折叠一切 64
6.3.3 其他抽象 66
第7章 错误和异常 67
7.1 错误编译 67
7.1.1 编译期错误 67
7.1.2 逻辑错误 69
7.1.3 运行时错误 69
7.2 引发异常 71
7.2.1 出错异常 71
7.2.2 退出异常 72
7.2.3 抛出异常 73
7.3 处理异常 74
7.3.1 处理不同类型的异常 74
7.3.2 catch后的after语句 76
7.3.3 尝试多个表达式 76
7.3.4 更多选择 78
7.4 在树中使用try语句 80
第8章 用函数式思维解决问题 82
8.1 逆波兰式计算器 82
8.1.1 RPN计算器的工作原理 82
8.1.2 实现RPN计算器 84
8.1.3 代码测试 85
8.2 从希思罗到伦敦 87
8.2.1 递归地解决问题 87
8.2.2 编写代码 89
8.2.3 不使用Erlang shell运行程序 93
第9章 常用数据结构简介 95
9.1 记录 95
9.1.1 定义记录 95
9.1.2 读取记录字段值 97
9.1.3 更新记录 99
9.1.4 共享记录定义 99
9.2 键/值存储 100
9.2.1 小数据量存储 100
9.2.2 大数据量存储:字典和通用平衡树 101
9.3 集合 102
9.4 有向图 104
9.5 队列 104
9.6 小结 105
第10章 并发编程漫游指南 106
10.1 不必惊慌 106
10.2 并发概念 107
10.2.1 伸缩性 108
10.2.2 容错 108
10.2.3 并发实现 109
10.3 并非完全不能线性伸缩 110
10.4 再见,谢谢你的鱼 111
10.4.1 创建进程 112
10.4.2 发送消息 113
10.4.3 接收消息 114
第11章 深入多重处理 118
11.1 定义进程状态 118
11.2 隐藏消息实现 120
11.3 超时 121
11.4 选择性接收 123
11.4.1 选择性接收的风险 124
11.4.2 邮箱使用的其他风险 126
第12章 错误与进程 127
12.1 链接 127
12.1.1 捕获退出信号 129
12.1.2 老异常,新概念 130
12.2 监控器 133
12.3 命名进程 134
第13章 并发应用设计 139
13.1 理解问题 139
13.2 设计协议 141
13.3 目录
^ 收 起
作者介绍Fred Hébert是一位自学成才的程序员,具有Web前端、Web 服务开发经验以及全面的后端多语言编程经验。他撰写的Erlang在线教程Learn You Some Erlang for Great Good! 被公认为好的Erlang学习教程。在Erlang Solutions工作期间,他撰写过Erlang培训资料,并在西方国家到处教授Erlang编程。目前,他在用Erlang开发一款实时竞价平台(AdGear),他被提名为2012年度Erlang User。译者介绍邓辉 独立咨询顾问,捷中科技首席架构师,有10年Erlang编程经验。《敏捷软件开发:原则、模式与实践》一书的译者,Erlang领域两本重要著作《面对软件错误构建可靠的分布式系统》《硝烟中的Erlang》中文译本的审校者和译者。对指示语义、类型理论、程序语言理论和分布式系统设计有浓厚的兴趣。目前在研究学习TLA 。孙鸣 中兴通讯杰出架构师,具有丰富的电信软件架构设计经验。《敏捷软件开发:原则、模式与实践》(C#版)、《硝烟中的Erlang》等书的译者。对函数式编程有浓厚的兴趣,平时喜欢设计各种各样的小语言。喜欢的编程语言是Scheme和Erlang,并用Erlang语言重写了Structure and Interpretation of Computer Programs一书中的全部代码。
^ 收 起
^ 收 起
这是一本讲解Erlang编程语言的入门指南,内容通俗易懂,插图生动幽默,示例短小清晰,结构安排合理。书中从Erlang的基础知识讲起,融汇所有的基本概念和语法。内容涉及模块、函数、类型、递归、错误和异常、常用数据结构、并行编程、多处理、OTP、事件处理,以及所有Erlang的重要特性和强大功能。
比价列表
1人想要1人拥有
公众号、微信群
缺书网
微信公众号
微信公众号
扫码进群
实时获取购书优惠
实时获取购书优惠