配列を、ほぼ同じサイズの小さい配列の正確な数に分割する方法が必要です。誰かがこれを行う方法がありますか?
例えば
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
groups = a.method_i_need(3)
groups.inspect
=> [[1,2,3,4,5], [6,7,8,9], [10,11,12,13]]
これは、配列をチャンクに分割することとはまったく別の問題であることに注意してください。これは、
a.each_slice(3).to_a
5つのグループ(私たちが望むように3つではない)を生成し、最終的なグループは他のグループとは完全に異なるサイズになる可能性があるためです。[[1,2,3], [4,5,6], [7,8,9], [10,11,12], [13]] # this is NOT desired here.
この問題では、必要なチャンクの数が事前に指定されており、各チャンクのサイズは最大で1だけ異なります。