【ruby】case文の使い方

case を使うと、プログラムの処理を条件分岐させることができます。
「比較対象となる値が○○に当てはまったら、△△の処理を行う」といった制御ができます。

case 比較対象となる値
when1
  # オブジェクトが値1と一致したときに実行する処理
when2
  # オブジェクトが値2と一致したときに実行する処理  
else
  # どの when節の値とも一致しないときに実行する処理
end


数値

num = 1

case num
when 1
  p "num は 1 である"
when 2
  p "num は 2 である"
else
  p "条件に一致しない"
end

#実行結果
"num は 1 である"
num = 3

case num
when 1
  p "num は 1 である"
when 2
  p "num は 2 である"
else
  p "条件に一致しない"
end

#実行結果
"条件に一致しない"


文字列

fruits = "grape"

case fruits
when "orange"
  p "fruits は orange である"
when "grape"
  p "fruits は grape である"
else
  p "条件に一致しない"
end

#実行結果
"fruits は grape である


複数の値

num = 1

case a
when 1, 2, 3
  p "num は 1〜3 である"
when 4, 5, 6
  p "num は 4〜6 である"
else
  p "条件に一致しない"
end

#実行結果
"num は 1〜3 である"