【发布时间】:2013-02-22 11:55:05
【问题描述】:
我发现这两个问题与我要问的问题相似:
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 个成员,不是吗?
-
对,如果你为 each_slice 块提供一个参数,它会给你一个数组,如果你提供多个参数,那么它将填充这些参数,直到没有要填充的参数或有没有值可以填充它们,在这种情况下,额外的参数将为 nil。
标签: ruby-on-rails ruby