Rubyのcase条件分岐の基本
Rubyのcase
文は、他の多くのプログラミング言語に存在するswitch
文に似ています。これは、複数の条件を効率的にチェックするための構造です。
基本的なcase
文の構造は以下のようになります:
case 対象
when 条件1
# 条件1が真のときに実行されるコード
when 条件2
# 条件2が真のときに実行されるコード
else
# どの条件も真でないときに実行されるコード
end
例えば、次のようなコードがあります:
grade = 'B'
case grade
when 'A'
puts '素晴らしい!'
when 'B'
puts '良い!'
when 'C'
puts '悪くない!'
else
puts 'もっと頑張ろう!'
end
このコードは、grade
の値に基づいて異なるメッセージを出力します。grade
が'B'
なので、このコードは'良い!'
を出力します。
これがRubyのcase
条件分岐の基本的な使い方です。この構造を使うと、複数の条件を簡単に管理できます。次のセクションでは、case
文のより詳細な使い方を見ていきましょう。
case条件分岐の詳細な使い方
Rubyのcase
文は、その柔軟性と強力さから、多くの異なるシナリオで使用することができます。以下に、その詳細な使い方をいくつか示します。
複数の条件を一つのwhen
節でチェックする
when
節は、複数の条件をカンマで区切って一度にチェックすることができます。例えば:
case grade
when 'A', 'B'
puts '良い成績です!'
when 'C', 'D'
puts 'もう少し頑張りましょう!'
else
puts '頑張りましょう!'
end
このコードは、grade
が'A'
または'B'
の場合に'良い成績です!'
を出力し、'C'
または'D'
の場合に'もう少し頑張りましょう!'
を出力します。
範囲を使用する
Rubyのcase
文は、範囲を使用して条件をチェックすることもできます。例えば:
case test_score
when 90..100
puts 'A'
when 80...90
puts 'B'
when 70...80
puts 'C'
else
puts 'F'
end
このコードは、test_score
が90から100の範囲にある場合に'A'
を出力し、80から90の範囲にある場合に'B'
を出力し、70から80の範囲にある場合に'C'
を出力します。それ以外の場合は'F'
を出力します。
これらの詳細な使い方を理解することで、Rubyのcase
文をより効果的に使用することができます。次のセクションでは、case
文の応用例を見ていきましょう。
case条件分岐の応用例
Rubyのcase
文は、その柔軟性から様々な応用例が存在します。以下に、その一部を示します。
クラスに基づく条件分岐
Rubyのcase
文は、オブジェクトのクラスに基づいて条件分岐を行うことができます。例えば:
item = 'Hello, World!'
case item
when String
puts 'itemは文字列です'
when Fixnum
puts 'itemは整数です'
when Float
puts 'itemは浮動小数点数です'
else
puts 'itemは未知のデータ型です'
end
このコードは、item
のクラスに基づいて異なるメッセージを出力します。item
が文字列(String
)なので、このコードは'itemは文字列です'
を出力します。
正規表現を使用する
Rubyのcase
文は、正規表現を使用して条件をチェックすることもできます。例えば:
phone_number = '03-1234-5678'
case phone_number
when /\A0\d{1,4}-\d{1,4}-\d{4}\z/
puts '電話番号の形式が正しいです'
else
puts '電話番号の形式が正しくありません'
end
このコードは、phone_number
が日本の電話番号の形式に一致するかどうかをチェックします。phone_number
が正しい形式なので、このコードは'電話番号の形式が正しいです'
を出力します。
これらの応用例を理解することで、Rubyのcase
文をより効果的に使用することができます。このような強力な機能を活用して、Rubyプログラミングを楽しみましょう!