我发现这个类似的两个问题之一,我要问:劈裂/切片阵列中的红宝石
Split array up into n-groups of m size? 和 Need to split arrays to sub arrays of specified size in Ruby
这阵分裂为三个阵列,其每个数组三个要素:
a.each_slice(3) do |x,y,z|
p [x,y,z]
end
所以,如果我这样做(我的数组大小为1000):
a.each_slice(200) do |a,b,c,d,e|
p "#{a} #{b} #{c} #{d} #{e}"
end
这应该将我的数组分成5个数组,每个数组有200个成员?但它不? 我真正需要做的是将200个随机元素放入5个数组中,我在正确的轨道上,我该怎么做?
“这应该将我的数组分成5个数组,每个数组有200个成员?但它不? - 你是怎么确定的?它确实完成了它应该做的事情:它将你的数组分成5个数组,每个数组有200个成员,然后打印5个数组中每个数组的前5个成员,不是吗? – 2013-02-22 12:03:07
对,如果你为each_slice块提供了一个参数,它会给你一个数组,如果你提供了多个参数,那么它将填充这些参数,直到没有参数填充或者没有值填充它们在这种情况下,额外的参数将为零。 – Cluster 2013-02-22 12:07:47