Ce qui est évaluée à faux en Ruby?
false
et nil
évaluer à faux dans Ruby
. Quelque chose d'autre? Veuillez fournir des liens vers les sites officiels/référence.
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
Par le chemin: vous êtes l'exemple de code peut être exprimé beaucoup plus courte
[true, false, nil, 0, [], {}, ''].map {|o| !!o }
#=> [true, false, false, true, true, true, true]
OriginalL'auteur user664833 | 2014-04-14
Vous devez vous connecter pour publier un commentaire.
false
etnil
sont les seuls:http://www.ruby-doc.org/core-2.1.1/FalseClass.html
Rails fournit
present?
qui comprend également des chaînes vides et des tableaux vides: http://api.rubyonrails.org/classes/Object.html#method-i-present-3FOriginalL'auteur nzifnab
Vous venez de trouver tous
comme Yehuda Katz a mentionné dans son blog en 2009
OriginalL'auteur tessi
La seule
false
-les valeurs de y en Ruby sontfalse
etnil
, comme l'atteste le livre "Le Langage de Programmation Ruby", par David Flanagan et Yukihiro Matsumoto (la Matz):(l'emphase est mienne)
Cette citation peut être trouvé sur page 180 du livre.
OriginalL'auteur nneonneo
Je peux qu'être d'accord, que
nil
etfalse
sont en effet les deux seules valeurs, qui évaluent à faux en Ruby. Je voulais juste pointer vers une autre ressource utile:Le vrai et le Faux par rapport à "Truthy" et "Falsey" (ou "Falsy") en Ruby, Python et JavaScript
OriginalL'auteur Steve