Как вы передаете функцию в качестве параметра в Elixir?

Как вы определяете функцию как параметр для другой функции в Elixir? Например, передайте foo в bar, чтобы затем панель могла вызвать foo. Каков синтаксис как в вызывающей функции, так и в функции, которая ее получает?

Ответы

Ответ 1

Используйте &Module.function/arity, чтобы передать его, и .(…), чтобы вызвать его.

Например:

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

my_hof(&Enum.map/2)