捕捉功能
使用 &
捕獲其他模組的功能。你可以將捕獲的函式直接用作函式引數或匿名函式。
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