如果我有這樣一個數組:[0, 1, 2, 3, 4, 5]
,是否有內置的方法來創建此: [[0, 1, 2], [3, 4, 5]]
給定的寬度3?如果沒有內置的方法,我該如何改進?紅寶石內置方法從單尺寸陣列創建多維陣列
def multi_to_single(array, width)
return [].tap{|md_array|
(array.length.to_f/width).ceil.times {|y|
row = (array[(y*width), width])
md_array.push(row + Array.new(width - row.length))
}
}
end
我覺得我錯過了一些明顯的東西,因爲我還沒有編程一段時間的紅寶石! 在此先感謝,埃爾。
編輯:它需要在覈心庫,所以沒有軌道上的紅寶石或任何東西。
這同樣也是in_groups_of的實現方式。 – Alkaline 2012-01-15 13:02:49