函数式编程:Erlang 中的列表处理与控制结构
1. 前置任务与函数式编程概述
在开始深入学习 Erlang 之前,有几个任务需要完成:
- 编写一个使用递归返回字符串中单词数量的函数。
- 编写一个使用递归计数到十的函数。
- 编写一个使用模式匹配的函数,根据输入 {error, Message} 或 success 选择性地打印 “success” 或 “error: message”。
函数式语言相较于面向对象语言处于更高的抽象层次。虽然理解起来更困难,但能用更少的代码表达更宏大的思想。就像《黑客帝国》中的特工史密斯,他能化身为矩阵中的任何人,函数式语言也能通过对列表应用函数,快速将列表塑造成所需的形式,例如将购物清单转换为价格列表,或者将 URL 列表转换为包含内容和 URL 的元组。
2. Erlang 基本控制结构
2.1 Case 语句
Case 语句可看作是一种可在任何地方使用的模式匹配。例如:
1> Animal = "dog".
2> case Animal of
2> "dog" -> underdog;
2> "cat" -> thundercat
2> end.
underdog
在这个例子中,字符串匹配到第一个子句,返回原子 underdog 。也可以使用下划线 _ 匹配任何值:
超级会员免费看
订阅专栏 解锁全文
15

被折叠的 条评论
为什么被折叠?



