我正在使用ruby 1.8.5,并且数组的each_slice()
方法无效。
我的代码类似于:
array.each_slice(3) do |name,age,sex| ..... end
在旧版本的ruby中是否有其他方法可以实现相同的功能。
答案 0 :(得分:5)
烘焙自己:
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 :(得分:1)
答案 2 :(得分:0)
我没有1.8.5,但你可以试试这个
0.step(array.size, 3) do |i|
name, age, sex = array[i], array[i+1], array[i+2]
...
end
答案 3 :(得分:0)
我自己没有使用它,但考虑使用backports gem。