例如,如果给出一个包含22个哈希的数组,并且您希望将每4个哈希分组到一个新数组中,该数组也在另一个数组下。最后两个元素也将在一个单独的数组中(对于边缘情况)
我已经知道这样做的贫民窟方式,但由于Ruby非常优雅且功能强大,因此必须有一种方法(一个或两个衬里)来做到这一点。
感谢。
答案 0 :(得分:9)
您需要each_slice
:
arr = (1..10).to_a
arr # => [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
arr.each_slice(4).to_a # => [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10]]