等同于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循环和迭代器方法像each
和map
next
关键字在ruby将有跳转到循环的下一个迭代的效果(相同于C中的continue
)。
然而,它实际上只是从当前块返回。 所以你可以用任何方法来使用它 – 即使它与迭代无关。
Ruby还有两个循环/迭代控制关键字: redo
和retry
。 在Ruby QuickTips上阅读更多关于它们以及它们之间的区别 。
我认为这被称为接下来 。