拆分数组到红宝石等份 [英] Splitting an array into equal parts in ruby

查看:108
本文介绍了拆分数组到红宝石等份的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要一种方法来在一堆数组的大小相等的另一个数组中拆分阵列。任何人有这样做的任何方法?

例如

  A = [0,1,2,3,4,5,6,7]
a.method_i_need(3)
a.inspect
    = GT; [[0,1,2],[3,4,5],[6,7]]


解决方案

您正在寻找的<$c$c>Enumerable#each_slice

  A = [0,1,2,3,4,5,6,7]
a.each_sli​​ce(3)#=&GT; #&所述;枚举:[0,1,2,3,4,5,6,7]:each_sli​​ce(3)&GT;
a.each_sli​​ce(3).to_a#=&GT; [0,1,2],[3,4,5],[6,7]

I need a way to split an array in to a bunch of arrays within another array of equal size. Anyone have any method of doing this?

For instance

a = [0, 1, 2, 3, 4, 5, 6, 7]
a.method_i_need(3)
a.inspect
    => [[0,1,2], [3,4,5], [6,7]]

解决方案

You're looking for Enumerable#each_slice

a = [0, 1, 2, 3, 4, 5, 6, 7]
a.each_slice(3) # => #<Enumerator: [0, 1, 2, 3, 4, 5, 6, 7]:each_slice(3)>
a.each_slice(3).to_a # => [[0, 1, 2], [3, 4, 5], [6, 7]]

这篇关于拆分数组到红宝石等份的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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