如何迭代数组一定次数?

Kar*_*ren 8 ruby arrays iteration loops

array = [apple, orange]    
number = 4
Run Code Online (Sandbox Code Playgroud)

所需的输出:

apple    
orange    
apple    
orange
Run Code Online (Sandbox Code Playgroud)

到目前为止,我有:

array.each do |x|
  puts x
end
Run Code Online (Sandbox Code Playgroud)

我只是不确定如何遍历数组 4 次。

Sil*_*olo 7

array = ["apple", "orange"]
iter_count = 4
array.cycle.take(iter_count).each { |x|
  puts x
}
Run Code Online (Sandbox Code Playgroud)

array.cycle给了我们一个无限可枚举,它重复 的元素array。然后我们从中取出第一个iter_count元素并迭代它。

Enumerable有很多好东西可以执行这样的整洁任务。一旦您熟悉了该模块,您就会发现您可以更轻松地执行许多面向数组和面向流的过程。


小智 2

array = ["apple", "orange"]
numOfIteration=4
for i in 0..numOfIteration-1
   puts array[i%array.size]
end
Run Code Online (Sandbox Code Playgroud)

  • 这是非常不惯用的 Ruby 代码。通常不鼓励使用“for”循环,我们也使用蛇形命名法作为变量名。所以在你的例子中是“num_of_iterarions”。尽管如此,这段代码确实有效,并且是一个有效的答案:) (2认同)