ruby - 将数组拆分为 m 大小的 n 组?

标签 ruby arrays

<分区>

Possible Duplicate:
Need to split arrays to sub arrays of specified size in Ruby

我正在寻找一个数组——例如 [0,5,3,8,21,7,2]——并生成一个数组数组,每隔很多地方拆分一次。如果上面的数组被设置为a,那么

a.split_every(3)

会返回 [[0,5,3],[8,21,7][2]]

这是否存在,还是我必须自己实现?

最佳答案

使用Enumerable#each_slice .

a.each_slice(3).to_a

或者,迭代(而不是为保留数组而烦恼):

a.each_slice(3) do |x,y,z|
  p [x,y,z]
end

关于ruby - 将数组拆分为 m 大小的 n 组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7907368/

相关文章:

Ruby:根据内容长度中止 OpenURI

ruby - Array of Arrays,根据索引处的数组内容删除一个索引?

arrays - 我想将循环的结果存储到数组中

ruby-on-rails - 如何使用 Ruby on Rails 进行具有二值范围和作用域的查询?

javascript - js对象之间的区别

c++ - 将文本文件中的数据存储在结构数组 C++ 中

php - 将数组元素作为函数参数内的变量输出

ruby-on-rails - 在 rails 4 中验证 attr_accessor 的标签

c++ - 函数打印奇怪的值。 C++

arrays - Hive 中 Presto UNNEST 函数的等价物是什么