基本中の基本のtrue/false
trueとfalseなんて基本中の基本だけど、立ち止まってメモしておきます。
ちゃんと理解しておけば少しだけ綺麗にコードが書けそう。
Rubyのtrue/false
ここで問題
次のうち「ok」と出力されるのはどれでしょう?
puts "ok" unless 0
puts "ok" unless 1
puts "ok" unless nil
puts "ok" unless "false"
Rubyのtrue/falseって…
以下のURLにいろいろな言語のtrue/falseが掲載されています。
各言語におけるtrue/falseまとめ
いろんな言語があるけど、その中でRubyのtrue/falseはなんてシンプルなこと!
「false」と「nil」だけが false
であとは全部 true
!
つまり、以下の条件分岐があったとして、
if hoge
puts "trueだよ!"
else
puts "falseだよ!"
end
hoge = false
, hoge = nil
のときは「falseだよ!」が出力され、それ以外はぜーんぶ「trueだよ!」が出力される。
問題の答え
答えは「3番」です!簡単でしたか?
unless文を使っているので条件に「nil」か「false」のときだけ「ok」が出力されます。4番の"false"
は文字列ですのでご注意を。
コードも綺麗に書けるよね
こんな感じで書かれていたら
if !@article.nil?
puts "記事があるよ!"
end
書き直したくなりますね!
if @article
puts "記事があるよ!"
end
Rubyのtrue/false簡単かつ基本なので覚えておかなきゃですね!