LoginSignup
0
0

More than 1 year has passed since last update.

【Ruby】case whenによる条件分岐

Last updated at Posted at 2021-10-27

環境

Ruby 3.0.2
Rails 6.1.4.1

case whenとは

thenは省略可

weather.rb
weather = 0
case weather
when 0 then 
  puts '晴れ'
when 1 then 
  puts 'くもり'
when 2 then 
  puts '雨'
else
  puts '雪'
end

#=> 晴れ

putsを省略するとより可読性が上がり、コード量も減らせる

weather.rb
weather = 0
case weather
when 0 then '晴れ'
when 1 then 'くもり'
when 2 then '雨'
else        '雪'
end

#=> 晴れ

case文をif文で書き直すとこんな感じ
===は、左辺が単独のStringやIntegerオブジェクトの場合==と同じ動作をする

weather.rb
weather = 0
if weather === 0 then
  puts '晴れ'
elsif weather === 1 then
  puts 'くもり'
elsif weather === 2 then
  puts '雨'
else
  puts '雪'
end

#=> 晴れ

case文とif文の使い分け

case文:1つの比較対象に対して複数の条件分岐でき、可読性の高いコードを書ける
if文:複数の比較対象を組み合わせて条件分岐できる

参考

0
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0