Rubyにおける条件分岐(if文、elsif文、else文)を使いこなすことは、プログラミングにおいて非常に重要なスキルです。条件分岐を正しく理解し、適切に活用することで、複雑なロジックをシンプルに表現できます。本記事では、Rubyの条件分岐について、基本的な使い方から応用までを包括的に解説します。
1. Rubyにおける基本的な条件分岐
Rubyで条件分岐を行うために最も基本的な構文はif
文です。if
文は、指定された条件が真(true)であれば、その後の処理を実行します。

rubyif 条件
# 条件が真のときに実行されるコード
end
例えば、次のコードは、変数x
が5より大きい場合に「xは5より大きい」と表示します。
rubyx = 10
if x > 5
puts "xは5より大きい"
end
このコードでは、x
が10なので、条件x > 5
は真となり、「xは5より大きい」というメッセージが表示されます。
2. else
を使った条件分岐
if
文の後にelse
を使うことで、条件が偽(false)であった場合の処理を追加できます。else
は、if
の条件が満たされない場合に実行されるコードを指定するために使います。
rubyif 条件
# 条件が真のときに実行されるコード
else
# 条件が偽のときに実行されるコード
end
例えば、次のコードは、x
が5より大きければ「xは5より大きい」と表示し、そうでなければ「xは5以下」と表示します。
rubyx = 3
if x > 5
puts "xは5より大きい"
else
puts "xは5以下"
end
この場合、x
が3なので、条件x > 5
は偽となり、「xは5以下」というメッセージが表示されます。
3. elsif
を使った複数の条件分岐
elsif
を使用することで、複数の異なる条件を順番にチェックすることができます。elsif
は、最初のif
が偽だった場合に、さらに別の条件をチェックするために使います。else
はすべての条件が偽であった場合に実行されます。
rubyif 条件1
# 条件1が真のときに実行されるコード
elsif 条件2
# 条件2が真のときに実行されるコード
else
# どの条件も真でなかった場合に実行されるコード
end
例えば、次のコードでは、x
の値に応じて異なるメッセージが表示されます。
rubyx = 7
if x > 10
puts "xは10より大きい"
elsif x > 5
puts "xは5より大きいが10以下"
else
puts "xは5以下"
end
このコードでは、x
が7なので、x > 5
が真となり、「xは5より大きいが10以下」というメッセージが表示されます。
4. 修飾子としてのif
Rubyでは、条件分岐を修飾子として使うこともできます。これは、条件が真の場合に一行で処理を実行したいときに便利です。構文は次の通りです。
rubyコード if 条件
例えば、次のコードでは、x
が5より大きい場合にのみputs
が実行されます。
rubyx = 6
puts "xは5より大きい" if x > 5
この場合、x
が6なので、条件x > 5
が真となり、「xは5より大きい」というメッセージが表示されます。
5. ネストされた条件分岐
条件分岐は、他の条件分岐を含むことができます。これをネスト(入れ子)された条件分岐と呼びます。例えば、if
文の中にさらにif
文を入れることができます。
rubyif 条件1
if 条件2
# 条件1かつ条件2が真のときに実行されるコード
end
end
例えば、次のコードでは、x
が10より大きく、かつy
が5より小さい場合にのみ処理が実行されます。
rubyx = 12
y = 3
if x > 10
if y < 5
puts "xは10より大きく、yは5より小さい"
end
end
この場合、x
が12でy
が3なので、両方の条件が満たされ、メッセージが表示されます。
6. 論理演算子を使った複雑な条件分岐
&&
(論理積)や||
(論理和)といった論理演算子を使うことで、より複雑な条件を一度に判定することができます。
-
&&
(AND演算子)は、両方の条件が真であれば真を返します。 -
||
(OR演算子)は、いずれかの条件が真であれば真を返します。
rubyif 条件1 && 条件2
# 条件1かつ条件2が真のときに実行されるコード
end
if 条件1 || 条件2
# 条件1または条件2が真のときに実行されるコード
end
例えば、次のコードでは、x
が10より大きく、かつy
が5より小さい場合にメッセージが表示されます。
rubyx = 15
y = 3
if x > 10 && y < 5
puts "xは10より大きく、yは5より小さい"
end
このコードでは、両方の条件が真であるため、メッセージが表示されます。
7. 三項演算子による条件分岐
Rubyでは、簡単な条件分岐を一行で書くために、三項演算子を使用することができます。三項演算子は次のように書きます。
ruby条件 ? 真の場合の処理 : 偽の場合の処理
例えば、次のコードでは、x
が5より大きいかどうかを判定して、結果に応じたメッセージを表示します。
rubyx = 3
puts x > 5 ? "xは5より大きい" : "xは5以下"
この場合、x
が3なので、条件x > 5
は偽となり、「xは5以下」というメッセージが表示されます。
結論
Rubyにおける条件分岐は、プログラムのロジックを制御するための基本的かつ強力なツールです。if
、elsif
、else
、そして修飾子としてのif
、三項演算子などを駆使することで、複雑な条件判定を簡潔に書くことができます。これらの構文を使いこなすことは、効率的で読みやすいコードを書くために不可欠です。