スポンサーリンク
if文
Rubyのif文はこんな感じ。
1 2 3 4 5 6 7 8 9 10 11 | num = 8 if num>100 then puts "numは100より大きい" elsif num>10 then puts "numは10より大きい" else puts "numは10以下" end #実行結果 #numは10以下 |
- 条件式に( )は不要
- else if じゃなくて、elsif
- thenはあってもなくてもOK
スポンサーリンク
unless文
unlessは、「もし〜でなければ」を意味する。if文の条件式が否定形になる場合、unlessを使った方が分かりやすいのか?個人的には普通に否定のif文の方が分かりやすい。
以下のunless文とif文は全く同じ。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | num = 8 unless num==100 then puts "numは100ではない" else puts "numは100だ" end if num!=100 then puts "numは100ではない" else puts "numは100だ" end #実行結果 #numは100ではない #numは100ではない |
unless文はelsifを使って、条件式を複数用意することができない。よってunless文による分岐は二択のみ。
実行文の後ろにつけるif文
Rubyでは、
1 | 実行文 if 条件式 |
という直感的な書き方ができる(条件式がtrueなら実行文が実行される)。
1 2 3 4 5 | num = 20 puts "numは10より大きい" if num>10 #実行結果 #numは10より大きい |
unlessも同様に、後ろに付けることが可能。
1 2 3 4 5 | num = 20 puts "numは10以下" unless num>10 #実行結果 # |
真偽値の注意
phpなんかでは、数値0や空文字列””はfalseと判断されますが、Rubyではいずれもtrue扱いになる。
Rubyでfalse扱いされるのは、
- false
- nil
のみ。