🗂

case文(Ruby)

2024/01/27に公開

はじめに

今回は条件分岐の一つであるcase文について説明します。
case文も使う場面は多いので、if文との使い分け方に注意しながら見ていきましょう!

case文

1つのオブジェクトや式を複数の値と比較する場合は、elsifを重ねるよりもcase文で書いたほうがシンプルになります。
case文の構文は次のとおりです。

case 対象のオブジェクトや式
 when1
   # 値1に一致する場合の処理
 when2
   # (値1に一致せず)値2に一致する場合の処理
 when3
   # (値1にも値2にも一致せず)値3に一致する場合の処理
 else
   # どれにも

次は、if文と比べてどう違うのか見ていきましょう

if文の場合

country = 'italy'

 # if文を使う場合
 if country == 'japan'
   'こんにちは'
 elsif country == 'us'
   'Hello'
 elsif country == 'italy'
   'Ciao'
 else
   '???'
 end
 #=> "Ciao"

case文の場合

# case文を使う場合
 case country
 when 'japan'
   'こんにちは'
 when 'us'
   'Hello'
 when 'italy'
   'Ciao'
 else
   '???'
 end
 #=> "Ciao"

1つのオブジェクトや式を複数の値と比較する場合、if文だと == を使う必要があるので、
case文を利用するとかなり見やすくなりましたね!

コードレビューなどしてもらう際に、スッキリしたコードだと相手も見やすいと思うので、
それぞれの用途を理解して上手に使い分けていきましょう!

さいごに

今回はcase文について説明しました。これで条件分岐は終わりです!
基礎はまだまだ続きます!頑張っていきましょう!

参考文献

プロを目指す人のためのRuby入門 改訂2版

Discussion