Enumerable#include?
est la voie idiomatiques et simple d'aller, mais comme une note de côté laissez-moi vous montrer une extension très trivial que (je pense) plaira aux amateurs Python:
class Object
def in?(enumerable)
enumerable.include?(self)
end
end
2.in? [1, 2, 3] # true
"bye".in? ["hello", "world"] # false
Parfois (plus de l'époque, en fait) il est sémantiquement plus approprié de demander si un objet est à l'intérieur d'une collection que l'inverse. Maintenant, votre code regarderait:
@user.user_type.in? ["hello", "goodbye"]
BTW, je pense que ce que vous essayez d'écrire était:
@user.user_type == "hello" || @user.user_type == "goodbye"
Mais nous les programmeurs sont paresseux par nature, afin d'utiliser mieux Enumerable#include?
et les amis.
Je reçois une méthode non définie comprend? pour ["application/jpg", "application/png"]. Qu'est-ce que je fais mal? – sscirrus
En fait, c'est "include?". Mais @sscirrus, vous devriez vérifier les docs: http://ruby-doc.org/core/classes/Enumerable.html – tokland
Merci beaucoup Tokland. Je cherchais la bonne source mais quelques minutes de googling ne l'ont pas trouvé. 'include?' fonctionne correctement. +1! – sscirrus