在C和许多其他语言中,有一个continue关键字,当在循环中使用时,它会跳转到循环的下一个迭代。在Ruby中是否有与continue关键字相同的关键字?


当前回答

用一种更地道的方式来写伊恩·伯顿的回答:

(1..5).each do |x|
  next if x < 2
  puts x
end

打印:

  2
  3
  4
  5

其他回答

我想它叫next。

Ruby还有另外两个循环/迭代控制关键字:重做和重试。 在Ruby QuickTips上阅读更多关于它们以及它们之间的区别。

在for-loops和迭代器方法中,例如each和map the next关键字,在ruby中具有跳转到循环的下一次迭代的效果(与C中的continue相同)。

然而,它实际上所做的只是从当前块返回。所以你可以将它用于任何需要块的方法——即使它与迭代无关。

用一种更地道的方式来写伊恩·伯顿的回答:

(1..5).each do |x|
  next if x < 2
  puts x
end

打印:

  2
  3
  4
  5

next

另外,看看重做当前迭代的redo。