172 votes

Comment diviser (découper) un tableau Ruby en parties d'éléments X?

J'ai un tableau

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

Comment puis-je diviser ou "découper" ceci en plus petits tableaux?

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

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

325voto

Mladen Jablanović Points 22082

Jetez un oeil à Enumerable # each_slice :

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

39voto

Head Points 2233

Si vous utilisez des rails, vous pouvez également utiliser in_groups_of:

 foo.in_groups_of(3)
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X