我發現這個類似的兩個問題之一,我要問:劈裂/切片陣列中的紅寶石
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