需要阵列分裂,在Ruby中指定大小的子阵列 [英] Need to split arrays to sub arrays of specified size in Ruby

查看:119
本文介绍了需要阵列分裂,在Ruby中指定大小的子阵列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个数组,它是这样的:

  ARR = [4,5,6,7,8,4,45,11]

我要像

看中方法

  sub_arrays =拆分(ARR,3)

这应该返回以下内容: [4,5,6],[7,8,4],[45,11]


解决方案

  arr.each_sli​​ce(3).to_a

each_sli​​ce 返回一个枚举的,因此,如果这对你就够了,你不需要调用 to_a

在1.8.6你需要做的:

 要求枚举
arr.enum_for(:each_sli​​ce,3).to_a

如果你只需要迭代,你可以简单地做:

  arr.each_sli​​ce(3)做| X,Y,Z |
  看跌期权(X + Y + Z)
结束

I have an array that is something like this:

arr = [4, 5, 6, 7, 8, 4, 45, 11]

I want a fancy method like

sub_arrays = split (arr, 3)

This should return the following: [[4, 5, 6], [7,8,4], [45,11]]

解决方案

arr.each_slice(3).to_a

each_slice returns an Enumerable, so if that's enough for you, you don't need to call to_a.

In 1.8.6 you need to do:

require 'enumerator'
arr.enum_for(:each_slice, 3).to_a

If you just need to iterate, you can simply do:

arr.each_slice(3) do |x,y,z|
  puts(x+y+z)
end

这篇关于需要阵列分裂,在Ruby中指定大小的子阵列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆