Acerca de Argumentos por defecto
Las funciones pueden declarar valores por defecto para uno o más argumentos.
def number(n \\ 13), do: "That's not my favorite"
- Al compilar el ejemplo de arriba, Elixir crea una definición de función para
number/0 (sin argumentos) y number/1 (un argumento).
- Si más de un argumento tiene valores por defecto, estos se aplicarán a la función de izquierda a derecha para completar los argumentos que faltan.
- Si la función tiene varias cláusulas, es necesario escribir una cabecera de función para los argumentos por defecto.
- Cualquier expresión puede servir como valor por defecto.
- Las funciones anónimas no pueden tener argumentos por defecto.
def guess(number \\ 5)
def guess(number) when number != 5, do: false
def guess(number) when number == 5, do: true
guess()
# => true