Sobre Argumentos por omissão
As funções podem declarar valores por defeito para um ou mais argumentos.
def number(n \\ 13), do: "That's not my favorite"
- Ao compilar o exemplo acima, o Elixir cria uma definição da função para
number/0 (sem argumentos) e number/1 (um argumento).
- Se mais do que um argumento tiver valores por defeito, os valores por defeito são aplicados à função da esquerda para a direita, para preencher os argumentos em falta.
- Se a função tiver várias cláusulas, é obrigatório escrever um cabeçalho da função para os argumentos por defeito.
- Qualquer expressão pode servir de valor por defeito.
- As funções anónimas não podem ter argumentos por defeito.
def guess(number \\ 5)
def guess(number) when number != 5, do: false
def guess(number) when number == 5, do: true
guess()
# => true