В Ruby, каковы мои варианты в цикле по коллекции пользовательских объектов, @users - PullRequest
0 голосов
/ 06 ноября 2010

У меня есть коллекция пользователей в объекте @ users.

На языке Ruby, каковы различные способы создания этой коллекции?

Ответы [ 3 ]

2 голосов
/ 06 ноября 2010

Самый распространенный способ - использовать

@users.each{|user| 
# do something with user
}

Кроме того, существует обычный индекс, основанный на циклах.

0 голосов
/ 06 ноября 2010

Под "коллекцией пользователей" вы имеете в виду массив данных, представляющих пользователей?Массивы смешивают в модуле Enumerable, который дает вам множество хороших способов обхода его содержимого.

Если «коллекция пользователей» означает, что вы создали какой-то объект, содержащий коллекцию,затем, реализуя метод each и смешивая в Enumerable, вы получаете все его методы.Ваш each метод должен будет перебирать последовательных пользователей в вашей коллекции по одному, по одному пользователю на вызов.

0 голосов
/ 06 ноября 2010
@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

Первые два идиоматичны. У вас также есть методы, такие как each_with_index, если вам также нужна переменная индекса. Есть еще много, проверьте документы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...