我需要一种方法,将一个数组拆分为大小大致相同的精确数量的较小array.有人有办法做到这一点吗?
例如
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]]
请注意,这是一个与dividing an array into chunks完全不同的问题,因为
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.