J'ai une collection d'utilisateurs dans un objet @users.Dans Ruby, quelles sont mes options pour faire défiler une collection d'objets utilisateur, @users
Dans le langage Ruby, quelles sont les différentes façons de boucler cette collection?
J'ai une collection d'utilisateurs dans un objet @users.Dans Ruby, quelles sont mes options pour faire défiler une collection d'objets utilisateur, @users
Dans le langage Ruby, quelles sont les différentes façons de boucler cette collection?
La façon la plus courante serait d'utiliser
@users.each{|user|
# do something with user
}
Autre que il y a l'index habituelle à base de boucles.
@users.each { |user| do_something(user) }
@users.each do |user|
do_one_thing(user)
do_another
end
for user in @users
do_something(user)
end
Les deux premiers sont idiomatiques. Vous avez également des méthodes comme each_with_index si vous avez également besoin d'une variable d'index. Il y en a beaucoup plus, vérifiez les docs.
Par "collection d'utilisateurs", voulez-vous dire que vous avez un tableau de quelque chose représentant les utilisateurs? Les tableaux mélangent le module Enumerable
, ce qui vous donne beaucoup de façons intéressantes de parcourir son contenu. Si "collection d'utilisateurs" signifie que vous avez créé un objet qui contient la collection, puis en implémentant la méthode each
et en mixant dans Enumerable, vous obtiendrez toutes ses méthodes. Votre méthode each
devra parcourir successivement les utilisateurs de votre collection, un utilisateur par appel.
Après la fin de 'each',' user' sera inaccessible; après un 'for' se termine,' user' aura la dernière valeur qui a été placée dans 'user'. Bon à savoir. – Zabba