等同于Ruby中的“继续”

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

是的,它被称为next

 for i in 0..5 if i < 2 next end puts "Value of local variable is #{i}" end 

这输出以下内容:

 Value of local variable is 2 Value of local variable is 3 Value of local variable is 4 Value of local variable is 5 => 0..5 

next

另外,看看redo 当前迭代的redo

用更习惯的方式写伊恩·普顿的答案 :

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

打印:

  2 3 4 5 

里面的for循环和迭代器方法像eachmap next关键字在ruby将有跳转到循环的下一个迭代的效果(相同于C中的continue )。

然而,它实际上只是从当前块返回。 所以你可以用任何方法来使用它 – 即使它与迭代无关。

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

我认为这被称为接下来 。