我正在使用ruby 1.8.5,而數組的each_slice()
方法不起作用。在Ruby 1.8.5中是否存在Array#each_slice()的等價物?
我的代碼是這樣的:
array.each_slice(3) do |name,age,sex| ..... end
有沒有實現我的舊版本紅寶石相同的功能的任何其他方式。
我正在使用ruby 1.8.5,而數組的each_slice()
方法不起作用。在Ruby 1.8.5中是否存在Array#each_slice()的等價物?
我的代碼是這樣的:
array.each_slice(3) do |name,age,sex| ..... end
有沒有實現我的舊版本紅寶石相同的功能的任何其他方式。
烘烤自己:
module Enumerable
def each_slice(n)
res = []
self.each do |el|
res << el
if res.size == n then
yield res.dup
res.clear
end
end
yield res.dup unless res.empty?
end
end
真棒..這真的很棒..非常感謝你.. – sundar 2011-05-23 10:43:46
我沒有用它自己,但考慮使用backports gem。
這傢伙
http://tekhne.wordpress.com/2008/02/01/whence-arrayeach_slice/
想通了,你可以
require 'enumerator'
和它的作品
@the鐵皮人:什麼是錯的紅寶石1.8標籤? – 2011-05-24 00:08:04