Rubyのcaseで条件分岐する方法【初心者向け】
条件分岐と言えばif文が有名ですが、case文は、一つのある値に対して、様々な候補の中から条件に適するものを実行したい時に使われます。今回は、そんなcase文について解説していきます。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
条件分岐と言えばif文が有名ですが、case文は、一つのある値に対して、様々な候補の中から条件に適するものを実行したい時に使われます。
今回は、そんなcase文について解説していきます。
そもそもRubyがよく分からないという方は、Rubyとは何なのか解説した記事をご覧ください。
なお本記事は、TechAcademyのWebアプリケーションオンラインブートキャンプの内容をもとに紹介しています。
今回は条件分岐のひとつ、caseについて説明しよう。
田島メンター!!条件分岐っていうとif文がありましたよね。caseはifとどのように違うんですか〜?
caseは複数の条件とそのときの処理をそれぞれ個別に指定することができる便利なものだよ。基本の構造を見てみようか。
はい!
case文の書き方
Rubyにおけるcase文は、以下のように書きます。
case 対象 when 値A then 値Aと一致した時に実行する処理 when 値B then 値Bと一致した時に実行する処理 else どの値にも一致しない時に実行する処理 end
といったように書きます。
まず数値や文字列などのオブジェクトを対象として宣言します。
次に「when」の後に一致しているかどうかの値を用意し、一致していればその処理が実行されます。
どの値にも一致しない場合は、else以降の処理が実行されます。
thenは省略ができるので、慣れたら書かなくても大丈夫です。
ではこれを実際に使ってある例を挙げましょう。
値Aのときはこの処理、値Bのときはこの処理というようにひとつひとつを設定することが可能なんだ。
どれの条件にも合わなかったら、else以下の処理が実行されるんですね。なるほど、確かに分かりやすい感じがします。
次にシンプルな例でcase文を書いてみよう。
実際にcase文を書いてみよう
実際に先ほど挙げた書き方を使ってcase文を使ってみましょう。
今回は、入力された数字によって実行する処理を変えるプログラムを作ってみます。
case a when 1 puts "1が入力されました" when 2 puts "2が入力されました" when 3 puts "3が入力されました" else puts "それ以外の数字が入力されました" end
aの値によって実行される処理が変わってきます。
1が入れば一番最初の文が実行されますし、5が入力されたら、elseの部分が実行されます。
いかがだったでしょうか。
このように1つのある値に対して複数の分岐を用意したい時、case文を使うと、プログラムをスッキリさせることができます。
caseで指定する対象の変数の中身や、whenで指定する条件にはif文と同様に文字列を入れることもできるよ。
これを使えば色々な条件分岐ができそうですね。
管理のしやすさの点でもcaseは便利だと思うよ。実践でも積極的に使ってみよう。
そうですね、やってみます!ありがとうございました!
[お知らせ]TechAcademyでは初心者でも8週間でエンジニアになれるRuby on Railsオンラインブートキャンプを開催しています。RubyでWebアプリを開発したい方はご参加ください。