在 C 和许多其他语言,没有continue的关键字,当用于在一个循环内,跳转到下一轮循环。是否有任何相当于continue在 Ruby 中关键字?

2010-10-24 19:36:34
问题评论:

继续不"重新启动"循环但跳转到下一轮循环。

@mlaw︰ 我编辑我的问题相应地防止未来的混乱。

在 Ruby 中,如何做跳过在.each 循环中,类似以继续循环的可能的重复项

@dbr 后这一要求已经发现重复项。

回答:

是的它已调用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 

这是我如何记得 — Ruby 上面 C (continue尊重 Perl (next)

next

另外,查看redo当前迭代恢复。

...原因 ruby 这样是 rad。

稍微惯用的方式编写Ian Purton答案

(1..4).each do |x|
  next if x == 2
  puts x
end

打印︰

  1
  3
  4

For 循环和迭代器中eachmap在 ruby 中的next关键字等方法起作用的跳转到下一轮循环 (等同于在 C 中continue)。

但是其实际只是当前块的收益。因此可以使用它与块中的任何方法,即使它没有任何与迭代。

也很好的重复语句

+22 的解释next的语义含义

Ruby 有两个其他循环/迭代控制关键字︰redo,然后retry阅读更多有关它们和它们在 Ruby QuickTips 之间的区别.

内容来源于Stack Overflow Equivalent of “continue” in Ruby
请输入您的翻译

Equivalent of “continue” in Ruby

确认取消