`c

`case` の Elixir

58個の演習

`case`について

caseは、与えられた値を多くのパターンと比較できる制御フローの仕組みです。case式の節は、一致するものが見つかるまで上から順に評価されます。

多くの場合、caseを使う代わりに複数の関数節を定義できますし、その逆も同様です。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"

どちらを選ぶかについて、厳密なルールはありません。たいていは状況によりますが、個人的な好みの問題です。

GitHubで編集 リンクは新しいウィンドウまたはタブで開きます

`case`を学習する

練習はロックされています

`case`を練習するには、あと2個の演習のロックを解除してください