Ruby Language
truthiness
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