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

ケースの選択はパターンマッチングを使用して行われるため、標準のパターンマッチング手法を使用できます。