真偽値と論理演算子
真偽値
Rubyでは偽以外が真となっています。
偽
Rubyで偽と扱われるものはfalse
とnil
だけです。
それ以外は真です。
偽 | 真 |
---|---|
nil とfalse |
偽以外 |
論理演算子
and
右辺が真の場合は左辺を返し、偽の場合は右辺を返します。
true && 1 #=> 1
nil && true #=> nil
false && true #=> false
ifの代わりとして使う。
puts "hogehoge" if true # hogehoge
puts true && "hogehoge" # hogehoge
or
右辺が真の場合右辺を返し、右辺が偽の場合左辺を返します。
true || 1 #=> true
nil || 1 #=> 1
false || 1 #=> 1
unlessの代わりとして使う
puts "hogehoge" unless false # hogehoge
puts false || "hogehoge" # hogehoge
not
真の場合はfalse
、偽の場合はtrue
を返します。
!false #=> true
!nil #=> true
!true #=> false