在下列情況下的值:如何從一個嵌套循環到父循環,不止一個層次突破,需要通過嵌套循環提供
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
值,以便數組項被刪除?
也許我應該使用多個break
聲明返回true
或使用throw/catch
與變量,但我不知道這些是否是最好的答案。
來自這個問題How to break from nested loops in Ruby?不同,因爲它需要父環路接收來自嵌套循環的值。
當有人提出一個可以很容易地通過Google搜索找到的問題時,它會收到很多upvotes,但是當它非常具體並且很難找到像這樣的問題時,它就會被低估。 – buggy3