Über Standardargumente
Funktionen können für ein oder mehrere Argumente Standardwerte angeben.
def number(n \\ 13), do: "That's not my favorite"
- Wenn du das obige Beispiel kompilierst, erzeugt Elixir eine Funktionsdefinition für
number/0 (keine Argumente) und number/1 (ein Argument).
- Wenn mehr als ein Argument einen Standardwert hat, werden die Standardwerte von links nach rechts angewendet, um fehlende Argumente zu ersetzen.
- Wenn die Funktion mehrere Klauseln hat, musst du einen Funktionskopf für die Standardwerte schreiben.
- Jeder Ausdruck kann als Standardwert dienen.
- Anonyme Funktionen können keine Standardargumente haben.
def guess(number \\ 5)
def guess(number) when number != 5, do: false
def guess(number) when number == 5, do: true
guess()
# => true