В Ruby 1.8.6 у меня есть массив, скажем, 100 000 идентификаторов пользователей, каждый из которых является int. Я хочу выполнить блок кода для этих идентификаторов пользователей, но я хочу сделать это в кусках. Например, я хочу обрабатывать их по 100 за раз. Как я могу легко достичь этого как можно проще?Как разбить массив в Ruby
я мог бы сделать что-то вроде следующего, но, вероятно, есть более простой способ:
a = Array.new
userids.each { |userid|
a << userid
if a.length == 100
# Process chunk
a = Array.new
end
}
unless a.empty?
# Process chunk
end
возможно дубликат [Необходимо разделить массивы на подразделы массивы указанного размера в Рубине] (http://stackoverflow.com/questions/3864139/need-to-split-arrays-to-sub-arrays- of-defined-size-in-ruby) – Nakilon
@Nakilon: Разве этот вопрос не является более новым, чем этот? –
@ Андрю Гримм, чтобы решить, какой из двух вопросов закрыть, я смотрю не на дату, а на качество ответов. Я имею в виду, я советую человеку, который смотрит сюда, пойти туда) – Nakilon