【Ruby入門】Rubyで条件分岐:if文

今回は、Rubyでの条件分岐の書き方について解説します。

基本的なif 文の文法

基本的なif 文の書式は以下のようになっています。

if の条件式1が”真”であるとき、then 以下の処理が実行されます。

条件式1が”偽”だった場合、かつ、elsif の条件式2が"真"だった場合は、elsif のthen 以下の処理が実行されます。
※else if ではなくelsif です。

また、条件式1・2がどちらも"偽"だった場合、else 以下の処理が実行されます。

条件式は上から順に評価されます。条件式が”真”となった時点で処理が実行され、その後の条件式は評価されないので注意しましょう。

また、then  は省略ができます。

実際にコードを書いてみましょう。

上記のコードの例では、上から条件式を評価していき、条件式を満たすdrink == "milk" 以下の処理、puts "UX MILK" が実行されます。

if 修飾子

条件式や処理の部分が非常に短いとき、if 文の基本的な書式では、長ったらしくみえてしまいスマートではない書き方になることがあります。

そんなときは、以下のようにif 文を書くことができます。

このように簡潔な書き方ができるので、是非活用してみてください。

条件式と処理の式の順番が逆になっていることに注意してください。

実際にコードを書いてみましょう。

実行結果は以下のようになります。

unless

unless 文では、if 文とは逆に、条件式が”偽”であるときに処理が実行される構造になっています。

unless 文の書式は、if 文とほとんど変わりません。

unless 文では、elseで続けることはできますが、elsif は使うことができません。

実際にコードを書いてみましょう。

実行結果は以下のようになります。

unless 文はコードをわかりづらくすることが多々あるので、unless 文を書くのであれば、if 文を書いてしまったほうが良いでしょう。