Elixir プログラミング言語には、2 つの類似した構成体condとがありcaseます。どちらも他の言語のswitchorselectステートメントに似ています
condとの両方について、このページcaseで説明します
Elixir プログラミング言語には、2 つの類似した構成体condとがありcaseます。どちらも他の言語のswitchorselectステートメントに似ています
condとの両方について、このページcaseで説明します
私ifもクラブに入らせてください。if1つの条件と可能なで使用し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にはないデータへのパターン マッチング アプローチをもたらします。ifcond