一次迭代一个数组,n个项目

Car*_*ole 45 ruby

我有一个数组:

[1,2,3,4,5,6,7,8,9,0] 
Run Code Online (Sandbox Code Playgroud)

我想一次迭代3,产生

1,2,3  and  4,5,6  and  7,8,9   and   0
Run Code Online (Sandbox Code Playgroud)

在Ruby中执行此操作的最佳方法是什么?

Chr*_*ald 81

您正在寻找#each_slice.

data.each_slice(3) {|slice| ... }
Run Code Online (Sandbox Code Playgroud)

  • 这样做.错过检查可枚举,并且只检查数组方法.谢谢. (2认同)
  • 永远记得在处理哈希或阵列时检查Enumerable - 大部分好东西都隐藏在那里.:) (2认同)

xda*_*azz 10

使用.each_slice

[1,2,3,4,5,6,7,8,9,0].each_slice(3) {|a| p a}
Run Code Online (Sandbox Code Playgroud)