Elixir プログラミング言語には、2 つの類似した構成体cond
とがありcase
ます。どちらも他の言語のswitch
orselect
ステートメントに似ています
cond
との両方について、このページcase
で説明します
Elixir プログラミング言語には、2 つの類似した構成体cond
とがありcase
ます。どちらも他の言語のswitch
orselect
ステートメントに似ています
cond
との両方について、このページcase
で説明します
私if
もクラブに入らせてください。if
1つの条件と可能なで使用しelse
ます。それだけです。cond
複数の条件があり、if
ステートメントが十分でない場合にステートメントを使用します。最終的に、ステートメントcase
は、いくつかのデータをパターン一致させたい場合に使用されます。
例を挙げて説明しましょう: 今日雨が降っていればリンゴを、雨が降っていなければご飯を食べたいとします。
if weather == :raining do
IO.puts "I'm eating apple"
else
IO.puts "I'm eating rice"
end
これは限られた世界なので、選択肢を広げたいと考えています。そのため、いくつかの条件でさまざまなものを食べることになるため、cond
ステートメントは次のようになります。
cond do
weather == :raining and not is_weekend ->
IO.puts "I'm eating apple"
weather == :raining and is_weekend ->
IO.puts "I'm will eat 2 apples!"
weather == :sunny ->
IO.puts "I'm happy!"
weather != :raining and is_sunday ->
IO.puts "I'm eating rice"
true ->
IO.puts "I don't know what I'll eat"
end
最後のtrue
ものはそこにある必要があります。そうしないと、例外が発生します。
では、どうcase
ですか?何かをパターンマッチするために使用されます。天気と曜日に関する情報をタプルのメッセージとして受け取り、それに基づいて決定を下すとします。意図は次のように記述できます。
case { weather, weekday } do
{ :raining, :weekend } ->
IO.puts "I'm will eat 2 apples!"
{ :raining, _ } ->
IO.puts "I'm eating apple"
{ :sunny, _ } ->
IO.puts "I'm happy!"
{ _, :sunday } ->
IO.puts "I'm eating rice"
{ _, _ } ->
IO.puts "I don't know what I'll eat"
end
したがって、は、またはcase
にはないデータへのパターン マッチング アプローチをもたらします。if
cond