Alors peut-être que j'ai tout faux, mais je suis sûr qu'il y a un moyen de le faire, disons que j'ai un if
déclaration, que je veux retourner true
si toutes les conditions dans un tableau évaluer comme vrai.ruby, l'évaluation de plusieurs conditions dans un tableau
dire que j'ai ceci:
def real_visitor?(location, request, params)
valid_location = [
params['referrer'] == 'us',
params['bot'] != 'googlebot',
5 + 5 == 10
]
if valid_location
return true
else
return false
end
end
Comment puis-je évaluer chacune des conditions dans le tableau valid_location
, certaines de ces conditions dans ce tableau sont juste pseudocode.
En IRM 1.8.7, court-circuit 'all?' Et 'any?': Tout s'arrête à la première valeur falsifiée; 'any?' s'arrête à la première valeur véridique. –
Eh bien, un exemple de ce que je veux dire, c'est que [puts ("1"), puts ("2")] all? 'Afficherait" 1 "et" 2 ", mais' puts ("1") && puts ("2") 'ne ferait qu'imprimer" 1 ", même si la sémantique est la même. Les éléments du tableau sont en cours d'évaluation * avant l'appel de 'tout?'. –
Cela prend tout son sens. Merci pour l'excellente explication. –