Ruby每个逻辑问题

Tej*_*eni 6 ruby arrays each

我试图在七周内Seven Languages解决一个简单的Ruby问题

使用just打印十六个数字的数组,一次打印四个数字的内容 each

这是我想出的,这可以通过简单的方式完成还是让它变得更好?

a = (1..16).to_a

i = 0
j = []
a.each do |item|
  i += 1 
  j << item
  if(i % 4 == 0)
    p j
    j = []
  end
end
Run Code Online (Sandbox Code Playgroud)

它可以each_slice在一行中使用

a.each_slice(4){|x| p x}

Mig*_*lva 6

Teja,你的解决方案还可以.当您需要使用每个时,算法的复杂性将受到数组大小的限制.

我想出了解决方案.除了它不使用aux var(j)来存储部分结果之外,它与您的想法相同.

i = 0
a.each do |item|
  p a[i, 4] if(i % 4 == 0)
  i +=1
end
Run Code Online (Sandbox Code Playgroud)