Elixir-decision-case
提供:Dev Guides
Elixir-ケースステートメント
Caseステートメントは、命令型言語のswitchステートメントの代わりと見なすことができます。 Caseは変数/リテラルを受け取り、さまざまなケースでパターンマッチングを適用します。 いずれかのケースが一致する場合、Elixirはそのケースに関連付けられたコードを実行し、caseステートメントを終了します。 一致するものが見つからない場合は、一致する句が見つかりませんでした*を表示する_CaseClauseError_でステートメントを終了します。 すべての値に一致する_のケースが常にあるはずです。 これは、上記のエラーの防止に役立ちます。 また、これはswitch-caseステートメントの *default ケースに匹敵します。
構文
if文の構文は次のとおりです-
case value do
matcher_1 -> #code to execute if value matches matcher_1
matcher_2 -> #code to execute if value matches matcher_2
matcher_3 -> #code to execute if value matches matcher_3
...
_ -> #code to execute if value does not match any of the above
end
例
case 3 do
1 -> IO.puts("Hi, I'm one")
2 -> IO.puts("Hi, I'm two")
3 -> IO.puts("Hi, I'm three")
_ -> IO.puts("Oops, you dont match!")
end
上記のプログラムは、次の結果を生成します。
Hi, I'm three
ケースの選択はパターンマッチングを使用して行われるため、標準のパターンマッチング手法を使用できます。