RubyをつつくX-制御式0。やっぱりifは要るよね♪
#数値の場合
num = 0
if num then
puts 'true'
end
#文字列の場合
str = ''
if str then
puts 'true'
end
さて、答えはどうなるかな・・・正解はどっちもtrueピヨ♪理由は、Rubyではfalse または nil (Null値の事)だけが偽でそれ以外はtrueだからピヨッ♪ピヨッ♪ C言語に近い動きピヨね。いや、どちらかというとLISPかな?・・・まぁ、どっちでもいいや。 Rubyはtrueと判断される条件が多いから注意してね。 簡単に覚えるコツは、falseがfalseかnilのみであると覚えることピヨ♪。
じゃあ、次ぎ行ってみよう♪
#複数条件
num = 1
if num == 0 then
puts '0'
elsif num == 1
puts '1'
end
このようにRubyでも複数の条件で分岐することが出来るピヨ♪ここで一つ注意が必要ピヨォッ!。それは、elsifキーワード、ピヨ。elseifとかelse ifと間違えないよーに。えっ?ボクはもちろん・・・間違えたさ。
このようにRubyのifは他言語の使用経験がある人にとっても、初心者にとってもわかりやすいものピヨね。ところで、何でボクが今までif文と囀らなかったかわかる?それはねぇ、Rubyのifは文ではなくて、式だからなんだピヨッ!!!驚いたでしょう。
式と文の違いはわかりにくいと思うから、サンプルコードを見て♪見て♪
#Rubyのifが式である事を感じる
num = 1
puts (if num == 1 then true else false end)
なんと!これでtrueが出力できるんだ。ちなみに、何の条件も満たさない場合はnilを返すピヨ。
C#とかVB.NETを使っている人にとってはラムダ式に見えるだろうけど、実は違うピヨ♪これがifが式である証拠なんだ。式だから結果を返せるんだ。C#とか他言語みたく、文だと出来ないよね?皆も色々試してみよう。きっとRubyのif式が好きになるよ。じゃあ、今回はこれまでにしておこう。とぉー