Elixir 中的高阶函数、推导式与流操作
1. 高阶函数基础
递归是基本的循环技术,但在很多情况下,我们无需显式编写递归代码,高阶函数就能完成许多典型任务。高阶函数是指那些接受一个或多个函数作为输入,或者返回一个或多个函数(或两者兼具)的函数。
例如, Enum.each/2 函数就是一个高阶函数,它接受一个可枚举对象(如列表)和一个匿名函数作为参数,对可枚举对象的每个元素执行该匿名函数。以下是一个简单的示例:
iex(1)> Enum.each(
[1, 2, 3],
fn x -> IO.puts(x) end
)
1
2
3
在这个例子中, Enum.each/2 遍历列表 [1, 2, 3] ,并对每个元素调用匿名函数 fn x -> IO.puts(x) end 进行打印。
Elixir 的 Enum 模块提供了许多有用的高阶函数,下面介绍几个常用的函数:
- Enum.map/2 :用于将可枚举对象的每个元素进行一对一的转换。例如,将列表中的每个元素乘以 2:
iex(1)> Enum.map(
[1, 2, 3],
fn x ->
超级会员免费看
订阅专栏 解锁全文
1231

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



