Как разбить (кусок) массив Ruby на части элементов X?

У меня есть массив

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]]

Ответ 2

Если вы используете рельсы, вы также можете использовать in_groups_of:

foo.in_groups_of(3)