Sobre Argumentos padrão
As funções podem declarar valores padrão 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 de função para
number/0 (sem argumentos) e number/1 (com um argumento).
- Se mais de um argumento tiver valores padrão, os valores padrão serão aplicados à função da esquerda para a direita, para preencher os argumentos que faltam.
- Se a função tiver várias cláusulas, é necessário escrever um cabeçalho de função para os valores padrão.
- Qualquer expressão pode servir como valor padrão.
- Funções anônimas não podem ter argumentos padrão.
def guess(number \\ 5)
def guess(number) when number != 5, do: false
def guess(number) when number == 5, do: true
guess()
# => true