web-dev-qa-db-ja.com

Elixirで関数をパラメーターとしてどのように渡しますか?

関数をElixirの別の関数のパラメーターとしてどのように指定しますか?たとえば、fooをbarに渡して、barがfooを呼び出せるようにします。呼び出し関数とそれを受け取る関数の両方の構文は何ですか?

43
Matt

渡すには_&Module.function/arity_を使用し、呼び出すには.(…)を使用します。

例えば:

_def my_hof(f)
    f.([1, 2, 3], &(&1 * 2))
end

my_hof(&Enum.map/2)
_
67
rightfold