【发布时间】:2016-12-26 22:48:56
【问题描述】:
以下情况:
xxx.delete_if do |x|
yyy.descend do |y| # This is a pathname.descend
zzz.each do |z|
if x + y == z
# Do something
# Break all nested loops returning to "xxx.delete_if do |x|" loop
# The "xxx.delete_if do |x|" must receive a "true" so that it
# can delete the array item
end
end
end
end
在确保我可以传递true 值以便删除数组项的同时实现这种多重嵌套中断的最佳方法是什么?
也许我应该使用多个返回 true 的 break 语句,或者使用带有变量的 throw/catch,但我不知道这些是否是最佳答案。
这个问题与How to break from nested loops in Ruby? 不同,因为它要求父循环从嵌套循环中接收一个值。
【问题讨论】:
-
当有人提出一个可以通过 Google 搜索轻松找到的问题时,它会收到很多赞成票,但当它是非常具体且很难找到的问题时,它就会被反对。