case

  • 複数の選択肢から 1 つを選んで分岐させる

if / case の使い分け

目安的な考えで、絶対ではない

  • if "A or B" といった二択
  • case 三択以上の選択肢を持つ場合

構文

case 変数
when 条件1
  処理
when 条件2
  処理
when 条件3
  処理
end
x = "apple"

case x
when "banana"
  puts 300
when "orange"
  puts 200
when "apple"
  puts 250
else
  puts no
end
  • case の後に変数を書かず、when の後に条件を書く使い方
n = 75

case
when n >= 90
  puts "Great"
when n >= 80
  puts "Good"
when n >= 70
  puts "Soso"
when n <= 60
  puts "No good"
end

case の戻り値は変数に代入できる

def order(item, size)
  result = case item
  when "coffee"
    100
  when "tea"
    150
  end
  result += case size
  when "XL"
    100
  when "XXL"
    200
  end
end

p order("coffee", "XL") # 200
p order("tea", "XXL") # 350