Ruby/Rubyの基礎知識

Rubyの条件分岐・制御構文の使い方(2ページ目)

Rubyのif、unless、caseなど条件分岐構文の紹介と、いくつかのパターンの使い方を解説します。

橋本 拓也

執筆者:橋本 拓也

Rubyガイド

後置条件式

if の中身が1行しかないのに、わざわざif、本体、endと3行も使ってしまうのが気持ち悪い...」と設計者が考えたのかどうかは定かではありませんが、Rubyではifunless を1行に収めて書くことができます。

例えば、帰宅したあと疲れてなければジョギングして、成人していればビールを飲んでから寝る、というコードは次のように書けます。

条件式と処理内容がともに単純なコードであれば、すっきりと読みやすくなります。

三項演算子

Rubyの三項演算子を使うと、 if <cond> then <true_clause> else <false_clause> end のif文を <cond> ? <true_clause> : <false_clause> と書くことができます。

もし elsif を含むif式を三項演算子にしようとすると、次のようにネストさせる必要があります。

しかしここまで来ると逆に可読性が悪くなってしまいます。条件分岐がネストするときは素直にifか後述のcaseを使ったほうが無難です。

次のページではcase式を紹介し、最後にifやcaseが「値を返す」ことに触れます。

  • 前のページへ
  • 1
  • 2
  • 3
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます