Ruby Language
真実
サーチ…
備考
経験則として、コードに二重否定を使用しないでください。 Rubocopによると 、二重否定は不必要に複雑であり、しばしばより読みやすいものに置き換えることができます。
書くのではなく
def user_exists?
!!user
end
つかいます
def user_exists?
!user.nil?
end
すべてのオブジェクトがRubyでブール値に変換される可能性があります
値の正当性をチェックするには、二重否定構文を使用します。すべての値は、その型に関係なくブール値に対応します。
irb(main):001:0> !!1234
=> true
irb(main):002:0> !!"Hello, world!"
(irb):2: warning: string literal in condition
=> true
irb(main):003:0> !!true
=> true
irb(main):005:0> !!{a:'b'}
=> true
nil
とfalse
を除くすべての値は真実です。
irb(main):006:0> !!nil
=> false
irb(main):007:0> !!false
=> false
if-else構文で値の真実性を使うことができます
if-else文で二重否定を使用する必要はありません。
if 'hello'
puts 'hey!'
else
puts 'bye!'
end
上記のコードは 'hey!'を表示します。画面上。
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow