case~when文
スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 | 心
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般
お金 | 仕事 | 勉強 | プライベート | 健康 | 心
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般
if~elsif文が長く続く場合は、case~when文で代替すると、コードが見やすくなります。
スポンサーリンク
Rubyのcase~when文は、PHPやCで言うところの、switch~case文の働きに似ています。
使い方も大体同じような感じですが、文の最後に書くデフォルト値として、defaultでなくelseを書きます。
また、CやPHPのswitch~case文では、一つ一つのcase文にbreakをつけますが、Rubyのcase~whenのwhen文には、breakをつけません。
require "date" now_time = DateTime.now.hour puts "now: #{now_time}" case now_time when 0..9 puts "Goog morning !" when 12 puts "Lunch time !" when 10..20 puts "Hello !" else puts "Good evening !" end
午後19時20分頃に上記のスクリプトを実行しました。
実行結果。
now: 19 Hello !
「when 10..20」の条件がtrueと評価されますので、「Hello !」が表示されます。
なお、case~when文では、whenで指定した値に一致するかどうかの評価を、「===」演算子を使って判定します。
スポンサーリンク
<< 前の記事 : 真偽値、empty?メソッド(クエスチョンマーク・はてな)
スポンサーリンク