false
et nil
évaluer à faux dans Ruby
. Rien d'autre? Veuillez fournir des liens vers des références officielles / faisant autorité.
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
Réponses:
16 pour la réponse № 1false
et nil
sont les seuls:
http://www.ruby-doc.org/core-2.1.1/FalseClass.html
Rails fournit present?
qui inclut également des chaînes vides et des tableaux vides: http://api.rubyonrails.org/classes/Object.html#method-i-present-3F
6 pour la réponse № 2
Vous venez de les trouver tous
En Ruby, faux et rien sont «fausseté», alors que toutes les autres valeurs sont «vérité»
comme Yehuda Katz a mentionné dans son article de blog en 2009
2 pour la réponse № 3
Le seul false
-y valeurs en Ruby sont false
et nil
, comme en témoigne le livre "The Ruby Programming Language" de David Flanagan et Yukihiro Matsumoto (la Matz):
Les prédicats renvoient généralement l'une des valeurs booléennes
true
oufalse
, mais ce n’est pas obligatoire, toute valeur autre quefalse
ounil
fonctionne commetrue
lorsqu'une valeur booléenne est requise. (LeNumeric
méthodenonzero?
, par exemple, renvoienil
si le numéro sur lequel il est invoqué est égal à zéro et renvoie le nombre sinon
(c'est moi qui souligne)
Cette citation peut être trouvée sur page 180 du livre.
1 pour la réponse № 4
Je ne peux que convenir que nil
et false
sont en effet les deux seules valeurs, qui évaluent à faux en rubis. Je voulais juste pointer vers une autre ressource utile:
Vrai et Faux contre "Truthy" et "Falsey" (ou "Falsy") en Ruby, Python et JavaScript