在Ruby 1.8.5中是否有Array#each_slice()的等效项?

| 我正在使用ruby 1.8.5,并且数组的“ 0”方法不起作用。 我的代码是这样的:
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
    
这家伙 http://tekhne.wordpress.com/2008/02/01/whence-arrayeach_slice/ 想通了
require \'enumerator\'
它有效     
我还没有1.8.5,但是你可以试试看
0.step(array.size, 3) do |i|
  name, age, sex = array[i], array[i+1], array[i+2]
  ...
end
    
我自己没有使用过它,但是考虑使用backports gem。     

要回复问题请先登录注册