У меня есть простой модуль, содержащий одну функцию:
defmodule Funcs do
def double(x) do
x*2
end
end
Когда я начинаю iex
с именем файла в качестве аргумента, я могу вызвать функцию просто отлично:
iex(5)> Funcs.double(3)
6
Но когда я пытаюсь использовать его в Enum.map
, я получаю ошибку undefined function
:
iex(2)> Enum.map([1,2,3,4], Funcs.double)
** (UndefinedFunctionError) undefined function: Funcs.double/0
Funcs.double()
тогда как если я просто использую аналогичную анонимную функцию, все работает так, как ожидалось:
iex(6)> Enum.map([1,2,3,4], fn(x) -> x*2; end)
[2, 4, 6, 8]
Как я могу использовать функцию модуля (неуверенный, правильный ли термин) в качестве аргумента для Enum.map?