かもメモ

自分の落ちた落とし穴に何度も落ちる人のメモ帳

Rubyのtrueとfalse

Rubytrueになる時とfalseになる時のメモ

  • false ... false, nil の時
  • true ... false, nil 以外全てtrue

0

なので、0trueになる。

p 0 ? true : false # => true

nil

nilfalse

p nil ? true : false # => false

nil.to_iすると0になるのでnil.to_itrue

p nil.to_i # => 0
p nil.to_i? true : false # => true

nil.to_sすると""になるのでnil.to_strue

p nil.to_s # => ""
p nil.to_s? true : false # => true

nilnilかどうか調べた時は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, falseto_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になるのは今まで触ったことのある言語と違うので気をつけたい。


[参考]

初めてのRuby

初めてのRuby