Ricerca…


Osservazioni

Come regola generale, evitare l'uso di doppie negazioni nel codice. Rubocop dice che le doppie negazioni sono inutilmente complesse e possono spesso essere sostituite con qualcosa di più leggibile.

Invece di scrivere

def user_exists?
    !!user
end

uso

def user_exists?
    !user.nil?
end

Tutti gli oggetti possono essere convertiti in booleani in Ruby

Utilizzare la sintassi di doppia negazione per verificare la veridicità dei valori. Tutti i valori corrispondono a un valore booleano, indipendentemente dal loro tipo.

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

Tutti i valori tranne nil e false sono veri.

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

La verità di un valore può essere usata nei costrutti if-else

Non è necessario utilizzare la doppia negazione nelle istruzioni if-else.

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

Il codice sopra stampa 'hey!' sullo schermo.



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow