Elixir 语言捕获函数
示例
使用&从其他模块捕获函数。可以将捕获的函数直接用作函数参数,也可以在匿名函数中使用。
Enum.map(list, fn(x) -> String.capitalize(x) end)
可以使用以下方法变得更简洁&:
Enum.map(list, &String.capitalize(&1))
在不传递任何参数的情况下捕获函数需要您明确指定其Arity,例如&String.capitalize/1:
defmodule Bob do def say(message, f \\ &String.capitalize/1) do f.(message) end end