映射列表
map
是函数式编程中的一个函数,它给出一个列表和一个函数,返回一个新的列表,该函数应用于该列表中的每个项目。在 Elixir 中, map/2
功能位于 Enum 模块中。
iex> Enum.map([1, 2, 3, 4], fn(x) -> x + 1 end)
[2, 3, 4, 5]
使用匿名函数的替代捕获语法:
iex> Enum.map([1, 2, 3, 4], &(&1 + 1))
[2, 3, 4, 5]
引用具有捕获语法的函数:
iex> Enum.map([1, 2, 3, 4], &to_string/1)
["1", "2", "3", "4"]
使用管道运算符链接列表操作:
iex> [1, 2, 3, 4]
...> |> Enum.map(&to_string/1)
...> |> Enum.map(&("Chapter " <> &1))
["Chapter 1", "Chapter 2", "Chapter 3", "Chapter 4"]