2010-11-06 3 views

Répondre

2

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.

+1

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

0
@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.

0

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.

Questions connexes