<<前 [TOP] 次>>
メモ帳を開いて次のプログラムを作ってみましょう。
【casetest1.rb】
# casetest1.rb char = 'B' case char when 'A' then puts 'AAAAAAAAAA' when 'B' then puts 'BBBBBBBBBB' when 'C' then puts 'CCCCCCCCCC' end
まず、case文の構成を見てください。
case 条件 when 条件1 then 実行文 when 条件2 then 実行文 when 条件 then 実行文 else 実行文 end
このcase文はif文と同じで、条件分岐に使います。
if文より内容が直感的にわかり見やすいというのが特徴です。
ただ、複雑な条件分岐には使用できないのが欠点です。
caseの条件に当てはまれば、whenで指定した条件が順番に処理されていきます。
caseの条件に当てはまれば、実行文が実行されcaseを抜けます。
どのcaseにも当てはまらない場合は、elseの実行文が実行されます。
caseの条件は何個でもつなげることができます。
ではプログラムの実行結果を確認しましょう。
メモ帳を開いて次のプログラムを作ってみましょう。
【casetest2.rb】
# casetest2.rb require 'date' time = DateTime.now hour = time.hour case hour when 6..11 then puts 'おはようございます。' when 12..16 then puts 'こんにちは。' when 17..21 then puts 'こんばんは。' else puts 'おやすみなさい。' end
現在の時間を取得するためにrequire 'date'
でdateパッケージを取得しています。
time = DateTime.now
hour = time.hour
DateTimeを使って現在の時間を取得して変数time代入、さらに time.hourで時間のみを取り出して変数hourに代入しています。
出力結果です。
if文で書き換えてみます。
【iftest6.ruby】
# iftest6.rb require 'date' time = DateTime.now hour = time.hour if hour > 5 && hour < 12 then puts 'おはようございます。' elsif hour < 17 then puts 'こんにちは。' elsif hour < 21 then puts 'こんばんは。' else 'おやすみなさい。' end
実行結果も同じです。
↓↓クリックして頂けると励みになります。