ruby - 将数组拆分为一些子数组

标签 ruby arrays

<分区>

Possible Duplicate:
How to split (chunk) a Ruby array into parts of X elements?

我想将一个数组拆分为一个子数组数组。

例如,

big_array = (0...6).to_a

我们如何将这个大数组切割成数组数组(最大长度为 2 项),例如:

arrays = big_array.split_please(2)

哪里...

arrays # => [ [0, 1],
              [2, 3],
              [4, 5] ]

注意: 我问这个问题,因为为了做到这一点,我目前正在这样编码:

arrays = [
           big_array[0..1],
           big_array[2..3],
           big_array[4..5]
         ]

...这太丑了。当 big_array.length > 100 时,代码非常难以维护。

最佳答案

你可以在数组上使用#each_slice方法

big_array = (0..20).to_a
array = big_array.each_slice(2).to_a
puts array # [[0, 1], [2, 3], [4, 5], [6, 7], [8, 9], [10, 11], [12, 13], [14, 15], [16, 17], [18, 19], [20]]

关于ruby - 将数组拆分为一些子数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7824287/

相关文章:

ruby-on-rails - 在学习 Ruby On Rails 教程之后,无法将用户添加到数据库

javascript - Ruby on Rails,使用 jquery 渲染部分只是显示文本

c - 没有额外的 "printf"我的代码给我段错误(核心转储)错误

javascript - json编码多维数组获取值

Java - 可以在数组中添加一个 int 和一个 String 吗?

arrays - Excel VBA 编程与数组 : To Pass them or Not To Pass them?

ruby - 单实例 Ruby 应用程序?

ruby - 对于 Ruby bool 值,如果没有相等语句,您要检查什么?

ruby - Heroku Rails 应用程序的数据挖掘/统计分析选项?

ruby-on-rails - rails : joining an array with em space