Como dividir(pedaço) uma matriz Ruby em partes de elementos X?



ruby array=== (2)

Se você estiver usando rails, você também pode usar in_groups_of :

foo.in_groups_of(3)

Esta questão já tem uma resposta aqui:

Eu tenho um array

foo = %w(1 2 3 4 5 6 7 8 9 10)

Como posso dividir ou "dividir" isso em matrizes menores?

class Array
  def chunk(size)
    # return array of arrays
  end
end

foo.chunk(3)
# => [[1,2,3],[4,5,6],[7,8,9],[10]]

Answer #1

Dê uma olhada no Enumerable#each_slice :

foo.each_slice(3).to_a
#=> [["1", "2", "3"], ["4", "5", "6"], ["7", "8", "9"], ["10"]]




arrays