今回はプログラミング言語Rubyのcase when(case文)を扱います。
Rubyのcase whenは、コードが直感的にわかりやすく、if文(if~elseif~else)をシンプルに記述することができるとても便利な式です。
そして、今回はそんなRuby case whenの基本的なコードの書き方に加えて、知っておくと非常に便利なcase when(複数の値を指定する時・値の範囲を指定する時・配列を指定する時)の3つのパターンも解説します。
どれもコードの具体例を用いてRubyでcase whenを解説していくので、プログラミングやRubyを学習し始めたばかりの人でも本記事を読めば必ずRuby case whenが理解できる内容です。
ぜひ最後までお読みください。
Ruby case whenの書き方
まずはプログラミング言語Rubyでのcase whenのコードの書き方を見ていきましょう。
【 Ruby case whenの書き方 】
case 変数
when 値1
「値1==変数」の時に実行するプログラム
when 値2
「値2==変数」の時に実行するプログラム
else
変数がどれにも当てはまらない時に実行するプログラム
end
この例だけだとイメージしにくので、具体例を紹介します。
※「#」から改行まではコメント(プログラムの動作に影響を与えない)です。
【 Ruby case whenの具体例 】
num=1
#1を変数numに代入
case num
when 1
puts “1は大吉です。”
when 2
puts “2は中吉です。”
else
puts “1と2以外は小吉です。”
end
【 結果 】
1は大吉です。
今回の場合は変数numの値が1だったので、「1は大吉です。」と表示されました。
numを2に変更すると、「2は中吉です。」となりますし、numを1と2以外(3や500など)にすると、「1と2以外は小吉です。」と表示されます。
以上がRuby case whenの基本的なコードです。
Ruby case whenが直感的にわかりやすいことが理解頂けたかと思います。
\文字より動画で学びたいあなたへ/
Udemyで講座を探す >Ruby case whenで複数の値を指定する
先ほどのcase whenでは、numが1の場合のみ大吉、2の場合のみ中吉、それ以外は小吉でした。
今度はnumが1と2の場合は大吉、3と4の場合は中吉、それ以外は小吉というcase whenにしてみましょう。
case whenで値が一致しているかを複数調べたい場合は、以下のように、whenの後の値を「,(カンマ)」で区切って指定します。
【 Ruby case whenで複数の値を指定 】
case 変数
when 値1, 値2
・・・
では、numが1と2の場合は大吉、3と4の場合は中吉、それ以外は小吉というcase whenのコードを書いてみましょう。
num=3
case num
when 1, 2
puts “1と2は大吉です。”
when 3, 4
puts “3と4は中吉です。”
else
puts “1〜4以外は小吉です。”
end
【 結果 】
3と4は中吉です。
今回は3をnumに代入しているので、中吉となります。
このRuby case whenも直感的にわかりやすいのではないでしょうか?
Ruby case whenで値の範囲を指定する
今度はnumが1~50の場合は大吉、51~100の場合は中吉、それ以外は小吉というcase whenのコードにしてみます。
値が大きくなり、さすがにwhen 1, 2, 3, 4…と書くのは無理そうです。
今回のようにcase whenで値の範囲を指定したい場合は、whenの後の値を「..」(ピリオドを2つ)付けて指定します。
【 Ruby case whenで値の範囲を指定 】
case 変数
when 値1..値2
・・・
では、コードの具体例を紹介します。
num = 70
case num
when 1..50
puts “1~50は大吉です。”
when 51..100
puts “51~100は中吉です。”
else
puts “1~100以外は小吉です。”
end
【 結果 】
51~100は中吉です。
今回は70をnumに代入しているので、中吉となります。
Ruby case whenで配列を指定する
いよいよ最後のRuby case when学習です。最後は、配列を指定するパターンです。
例を挙げます。colorという変数にある値が代入されています。その変数colorが配列colors1に含まれている時、配列colors2に含まれている時、それ以外の時で処理を分岐させてみます。
今回のようにcase whenで配列を指定したい場合はwhenの後の配列の前に「*」を付けて指定します。
【 Ruby case whenで配列を指定 】
case 変数
when *配列
・・・
では、上記の例のコードを記述してみます。(今回は文字列を例にしました。)
color = “red”
colors1 = [“blue”, “yellow”, “green”]
colors2 = [“red”, “black”, “white”]
case color
when *colors1
puts “redはcolors1にあります。”
when *colors2
puts “redはcolors2にあります。”
else
puts “redはどこにもありません。”
end
【 結果 】
redはcolors2にあります。
今回は”red”をcolorに代入しているので、確かに”red”は配列colors2にありますね。
いかがでしたか?Ruby case whenを理解できましたか?
プラグラミング言語Rubyが理解できるようになってくると、Railsというフレームワークを使ってWEB開発ができるようになります。
最新情報・キャンペーン情報発信中