Ca

Case em Elixir

58 exercícios

Sobre Case

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

Em muitos casos, usar case é equivalente a definir várias cláusulas de função. A correspondência de padrões e as guardas podem ser usadas nas 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 que digam qual das duas usar. É uma questão de preferência pessoal que, habitualmente, depende do contexto.

Editar via GitHub A ligação abre numa nova janela ou separador

Aprende Case

A prática está bloqueada

Desbloqueia mais 2 exercícios para praticares Case