【问题标题】:Options for processing X elements of an array at a time using Ruby使用 Ruby 一次处理数组的 X 个元素的选项
【发布时间】:2014-09-15 23:55:51
【问题描述】:

我们想一次处理一个数组的 1000 个元素。在 Ruby 中执行此操作的选项有哪些?

显然,一种方法是执行一个简单的循环并从数组中切出 1000 个元素,直到没有更多元素存在,但很好奇是否还有其他更优雅的选择。

这是针对 Rails 应用程序 (RoR 3.2.12)。

【问题讨论】:

    标签: ruby-on-rails ruby arrays


    【解决方案1】:

    在 Rails 中你可以使用in_groups_of:

    array = [1,2,3,4,5,6,7,8,9,10]
    array.in_groups_of(3, false).each do |group| 
      puts group
    end
    
    # => [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10]]
    

    【讨论】:

      【解决方案2】:

      我们最终使用each_slice

      array = [1,2,3,4,5,6,7,8,9,10]
      array.each_slice(3) do |group| 
        puts group
      end
      

      【讨论】:

        猜你喜欢
        • 2010-12-31
        • 1970-01-01
        • 2017-01-18
        • 1970-01-01
        • 1970-01-01
        • 2020-03-21
        • 1970-01-01
        • 2016-09-23
        • 2021-11-19
        相关资源
        最近更新 更多