捕捉功能

使用 & 捕獲其他模組的功能。你可以將捕獲的函式直接用作函式引數或匿名函式。

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