在Ruby中使用每个

Gui*_*rez 0 ruby

我开始学习ruby并试图找出一种方法,如果我有一个16个数字的数组,只使用每种方法一次打印这些数字4.我可以通过循环很容易地做到这一点,但我对Ruby中的每个方法都缺乏充分的理解,所以这给我带来了一些麻烦.

我有以下内容:

x=[*1..16]
index=0
x.each do |element|
  puts element[index]
  index=index+3
end
Run Code Online (Sandbox Code Playgroud)

现在显然这是完全错误的,我知道,但我想在这里放一些东西.一点建议会很棒.

谢谢

Mar*_*oda 6

可能的解决方案:

a = (1..16)
a.each_slice(4) { |s| p s[3] }
Run Code Online (Sandbox Code Playgroud)

编辑:如果你想在一行上打印4个元素,然后跳到下一行并打印下面的4个元素等

a = (1..16)
a.each_slice(4) { |s| puts s.join(' ') }
Run Code Online (Sandbox Code Playgroud)

或仅使用每个

a = (1..16)
a.each { |i| print i.to_s + ' '; print "\n" if i % 4 == 0 }
Run Code Online (Sandbox Code Playgroud)