Ca

Case em Elixir

58 exercícios

Sobre Case

case é uma estrutura de controle de fluxo que nos permite comparar um determinado valor com vários padrões. As cláusulas de uma expressão case são avaliadas de cima para baixo, até que uma correspondência seja encontrada.

Em muitos casos, usar case é intercambiável com definir múltiplas cláusulas de função. É possível usar correspondência de padrões e guardas em cláusulas case.

# one function clause, multiple case clauses
def age_group(age) do
  case age do
    0 -> ~c"infant"
    age when age < 4 -> ~c"baby"
    age when age < 13 -> ~c"child"
    age when age < 18 -> ~c"teenager"
    _ -> ~c"adult"
  end
end

# multiple function clauses, no case
def age_group(0), do: ~c"infant"
def age_group(age) when age < 4, do: ~c"baby"
def age_group(age) when age < 13, do: ~c"child"
def age_group(age) when age < 18, do: ~c"teenager"
def age_group(_), do: ~c"adult"

Não há regras rígidas para escolher uma em vez da outra. É uma questão de preferência pessoal que geralmente depende do contexto.

Editar via GitHub O link abre em uma nova janela ou aba

Aprenda Case

A prática está bloqueada

Desbloqueie mais 2 exercícios para praticar Case