我需要一种方法将数组拆分为大小大致相等的较小数组的确切数量。任何人都有这样做的方法吗?
例如
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]]
请注意,这是一个与将数组划分为 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.
在这个问题中,需要预先指定所需的 chunk 数量,每个 chunk 的大小最多相差 1。