Rubyのtrueになる時とfalseになる時のメモ
0
なので、0 はtrueになる。
p 0 ? true : false # => true
nil
nilはfalse。
p nil ? true : false # => false
nil.to_iすると0になるのでnil.to_iはtrue
p nil.to_i # => 0 p nil.to_i? true : false # => true
nil.to_sすると""になるのでnil.to_sはtrue
p nil.to_s # => "" p nil.to_s? true : false # => true
nilがnilかどうか調べた時はtrue
p nil.nil? # => true
true / false
true, false は .to_i で整数に変換できない
p true.to_i # => undefined method `to_i' for true:TrueClass (NoMethodError) p false.to_i # => undefined method `to_i' for false:FalseClass (NoMethodError)
true, false は to_s で文字列にすることはできる
p true.to_s # => "true" p true.to_s ? true : false # => true p false.to_s # => "false" p false.to_s ? true : false # => true
0や""がtrueになるのは今まで触ったことのある言語と違うので気をつけたい。
[参考]

- 作者: Yugui
- 出版社/メーカー: オライリージャパン
- 発売日: 2008/06/26
- メディア: 大型本
- 購入: 27人 クリック: 644回
- この商品を含むブログ (253件) を見る