ruby - Ruby 1.8.5 中是否有相当于 Array#each_slice() 的函数?

标签 ruby ruby-1.8

我使用的是 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

关于ruby - Ruby 1.8.5 中是否有相当于 Array#each_slice() 的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6095616/

相关文章:

ruby - 表示数字的字符串之间的空范围

ruby - capybara 元素此时不可点击

ruby-on-rails - Rails 中的定时页面缓存

ruby - mailgun 和 curl : should i use private or public api key

ruby - `?n` 与 `' n'` 有何不同?

ruby - "test".partition( "s") 从 Enumerable 模块而不是 String 模块调用分区

ruby - 使用 aws-sdk ruby​​ gem 了解它自己的实例 ID

ruby-on-rails - 如何找到数组中最大值的位置?

ruby-on-rails - 比较ruby中两个相似的哈希值

ruby - 这是 Method#to_proc 中的错误吗? ( ruby 1.8.7)