Ich habe ein einfaches Modul eine einzelne Funktion enthält:Wie kann ich eine Modulfunktion in Enum.map aufrufen, ohne den Fehler "Undefined reference" zu erhalten?
defmodule Funcs do
def double(x) do
x*2
end
end
Wenn ich iex
mit dem Dateinamen als Argument starten, die ich anrufen kann die Funktion nur in Ordnung:
iex(5)> Funcs.double(3)
6
Aber wenn ich versuche, verwenden sie es in Enum.map
, ich einen undefined function
Fehler:
iex(2)> Enum.map([1,2,3,4], Funcs.double)
** (UndefinedFunctionError) undefined function: Funcs.double/0
Funcs.double()
während, wenn ich ein analoges verwenden nur ous anonyme Funktion, funktioniert alles wie erwartet:
iex(6)> Enum.map([1,2,3,4], fn(x) -> x*2; end)
[2, 4, 6, 8]
Wie kann ich eine Modulfunktion (nicht sicher, ob das der richtige Begriff ist) verwenden, als Argument an Enum.map?
Ich habe einen Link zu den Dokumenten für das '&' spezielle Formular zu meiner Antwort hinzugefügt, sorry, dass ich nicht vorher, aber ich war auf dem Handy. – whatyouhide
Perfekt, vielen Dank. –