icon
icon

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アプリを開発したい方はご参加ください。

初心者・未経験でもできる。まずはテックアカデミーに相談しよう

プログラミングを独学で学習していて、このように感じた経験はないでしょうか?

  • ・調べてもほしい情報が見つからない
  • ・独学のスキルが実際の業務で通用するのか不安
  • ・目標への学習プランがわからず、迷子になりそう

テックアカデミーでは、このような 学習に不安を抱えている方へ、マンツーマンで相談できる機会を無料で提供 しています。
30分間、オンラインでどんなことでも質問し放題です。

「受けてよかった」と感じていただけるよう カウンセラーやエンジニア・デザイナー があなたの相談に真摯に向き合います。

「自分に合っているか診断してほしい」
「漠然としているが話を聞いてみたい」

こんなささいな悩みでも大丈夫です。

無理な勧誘は一切ありません ので、まずはお気軽にご参加ください。
※体験用のカリキュラムも無料で配布いたします。(1週間限定)

今なら参加者限定の割引特典付き! 無料相談を予約する