开发者

Ruby flow control

I can't find any useful resources online that breaks down Ruby's different flow-control options.

Let's assume that I'm iterating over an array within in a method:

def a_method
   things.each do |t|
      # control options?
   end
end

What are my differ开发者_如何学JAVAent flow-control options here? How do they differ?

  1. retry
  2. return
  3. break
  4. next
  5. redo


retry can be used inside a rescue block, to jump back into the begin block after the condition that caused the exception has been remedied. Inside a block it has the effect of jumping to the beginning of the yielding method. So inside each this means that retry will jump to the beginning of the loop.

return will return from the method it's inside of - in this case from a_method.

break will return from the yielding method - in this case from each (which would be different from returning from a_method if something happened between the end of the each-block and the end of a_method).

next will return from the block and thus jump to the next item in things.

redo will jump to the beginning of the block and thus repeat the current iteration.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜