false
e nil
valutare a falso in Ruby
. Qualunque altra cosa? Si prega di fornire collegamenti a riferimenti ufficiali / autorevoli.
2.0.0p247 :001 > if true ; puts "TRUE" ; else puts "FALSE" ; end
TRUE
2.0.0p247 :002 > if false ; puts "TRUE" ; else puts "FALSE" ; end
FALSE
2.0.0p247 :003 > if nil ; puts "TRUE" ; else puts "FALSE" ; end
FALSE
2.0.0p247 :004 > if 0 ; puts "TRUE" ; else puts "FALSE" ; end
TRUE
2.0.0p247 :005 > if [] ; puts "TRUE" ; else puts "FALSE" ; end
TRUE
2.0.0p247 :006 > if {} ; puts "TRUE" ; else puts "FALSE" ; end
TRUE
2.0.0p247 :007 > if "" ; puts "TRUE" ; else puts "FALSE" ; end
(irb):616: warning: string literal in condition
TRUE
risposte:
16 per risposta № 1false
e nil
sono gli unici:
http://www.ruby-doc.org/core-2.1.1/FalseClass.html
Rails fornisce present?
che include anche stringhe vuote e array vuoti: http://api.rubyonrails.org/classes/Object.html#method-i-present-3F
6 per risposta № 2
Li hai appena trovati tutti
In Ruby, false e nil sono "falsy", mentre tutti gli altri valori sono "truthy"
come ha detto Yehuda Katz nella sua post sul blog nel 2009
2 per risposta № 3
Il solo false
-sono valori in Ruby false
e nil
, come attesta il libro "The Ruby Programming Language", di David Flanagan e Yukihiro Matsumoto (il Matz):
I predicati restituiscono in genere uno dei valori booleani
true
ofalse
, ma questo non è richiesto, come qualsiasi valore diverso dafalse
onil
funziona cometrue
quando è richiesto un valore booleano. (IlNumeric
metodononzero?
, ad esempio, restituiscenil
se il numero su cui viene invocato è zero e restituisce semplicemente il numero in caso contrario.)
(sottolineatura mia)
Questa citazione è disponibile su pagina 180 del libro.
1 per risposta № 4
Posso solo essere d'accordo nil
e false
sono davvero gli unici due valori che valutano falso in Ruby. Volevo solo indicare un'altra utile risorsa:
True and False vs. "Truthy" e "Falsey" (o "Falsy") in Ruby, Python e JavaScript