1ヶ月でWebデザイン・プログラミングスキルをオーダーメイドのカリキュラムで学べるスクール、それがWebCamp。

「数億規模スタートアップのCTO講師」と「エンジニアキャリア専門のポテパン」が贈る、実践型Rubyスクール。

【Ruby入門】case文を使った条件分岐の方法

【Ruby入門】
Pocket

case文の書き方

case文とは、条件分岐の記述方法の1つで、変数の状態を確かめる際に使用します。
Rubyでのcase文の書き方は以下のようになります。

おそらく初心者の方がこれだけ見ても、何のことかさっぱりかと思います。また、同じ条件式として使用するif文との違いもわかりにくいかもしれません。下部に理解を深めるために、例を通しながら、情報を掘り下げていくので、もう少しお付き合いください。

if文とcase文との違い

if文とcase文とでは条件分岐するという意味では同じものの、それぞれ使用する際に比較対象の個数が大きな違いです。

[case文の場合]
1つの比較対象に対して複数の条件分岐を可読性の高いシンプルな書き方を実現可能。

[if文の場合]
複数の比較対象を組み合わせて条件分岐でき、複雑なロジックを実現可能。

下記はif文を使用した簡単な例です。

このように、複数の比較対象(ageとsex)を比べることが可能です。ただし、複雑なロジックが可能というメリットを実現する代わりに、可読性も落ちやすくなります。(ageとsexを比べ、条件式が混在しているので)

また、実際の開発現場では、もっと複雑な条件が重なることも多いです。そのような場合は、不具合が出た際には原因特定に至るのに時間を要する可能性もあるので、あまり条件が多くなりすぎても保守性が低くなるのです。

case文を実際に使ってみる

では、保守性の高いシンプルなコードを実現できるcase文です。下記はcase文を使用した簡単な例です。

どうでしょうか?このように、一つの比較対象(month)の状態を比べるのに使用できます。1つに絞ることにより、シンプルさを追求することができ、比較対象の状態を確認することができるので、数千行等のソースコードになったとしても、バグがでにくい、または出ても原因特定しやすいというメリットも得られます。

まとめ

if文でも同じロジックを実現することは可能なものの、case文を書くことによって保守性の高いソースファイルを書くことができ、非常に開発現場で重宝する書き方でもあります。少しロジックを考えることに慣れてきて、問題なく書けるようになってきたなら、是非ともcase文の書き方をマスターされてはいかがでしょうか?

投稿者:プロスタ編集部

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

初心者がプログラミングで挫折しない学習方法を無料動画で公開中。オンラインに特化したプログラミングスクール「TechAcademy(テックアカデミー)」が解説。

この記事が気に入ったら
いいね!しよう

プロスタの最新情報をお届けします

あわせて読みたい

関連記事

おすすめスクール

システムアーキテクチュアナレッジ

システムアーキテクチュアナレッジ システムアーキテクチュアナレッジでは、ITスクールとしては珍しく正規雇用かつ現役のエンジニアが講師を務めています。「責任を持ったIT教育」をテーマに、未経験者をプロフェッショナルに育てます。
ページ上部へ戻る