我正在使用 ruby 1.8.5,并且each_slice()
数组的方法不起作用。
我的代码是这样的:
array.each_slice(3) do |name,age,sex| ..... end
有没有其他方法可以在我的旧版本 ruby 中实现相同的功能。
自己烤:
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
我没有1.8.5,但你可以试试这个
0.step(array.size, 3) do |i|
name, age, sex = array[i], array[i+1], array[i+2]
...
end
我自己没有使用过,但考虑使用backports gem。