Ответ 1
Взгляните на Перечислить # each_slice:
foo.each_slice(3).to_a
#=> [["1", "2", "3"], ["4", "5", "6"], ["7", "8", "9"], ["10"]]
У меня есть массив
foo = %w(1 2 3 4 5 6 7 8 9 10)
Как я могу разделить или "разбить" это на меньшие массивы?
class Array
def chunk(size)
# return array of arrays
end
end
foo.chunk(3)
# => [[1,2,3],[4,5,6],[7,8,9],[10]]
Взгляните на Перечислить # each_slice:
foo.each_slice(3).to_a
#=> [["1", "2", "3"], ["4", "5", "6"], ["7", "8", "9"], ["10"]]
Если вы используете рельсы, вы также можете использовать in_groups_of:
foo.in_groups_of(3)