Sök…


Anmärkningar

Som tumregel ska du undvika att använda dubbla negationer i kod. Rubocop säger att dubbla negationer är onödigt komplicerade och ofta kan ersättas med något mer läsbart.

Istället för att skriva

def user_exists?
    !!user
end

använda sig av

def user_exists?
    !user.nil?
end

Alla objekt kan konverteras till booleaner i Ruby

Använd syntaxen för dubbel negation för att kontrollera om värderingar är sanna. Alla värden motsvarar en booleska, oavsett typ.

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

Alla värden utom nil och false är sanningsenliga.

irb(main):006:0> !!nil
=> false
irb(main):007:0> !!false
=> false

Sannhet av ett värde kan användas i om-annars-konstruktioner

Du behöver inte använda dubbel negation i uttalanden om annars.

if 'hello'
    puts 'hey!'
else
    puts 'bye!'
end

Ovanstående kod skriver ut "hej!" på skärmen.



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow