jobs.each do | job |
msg job.name do
break if stop_all_jobs?
job.run!
end
end
def msg(msg, &block)
puts 'START ' + msg
yield
puts 'END ' + msg
end
위의 예에서 break
은 예상대로 루프를 벗어나지 않습니다. msg
코드 블록에서만 나옵니다.(yield) 블록의 코드에서 루프를 제거하는 방법은 무엇입니까?
다소 이상하게 들릴지 모르겠지만 문맥을 기반으로한다고 생각합니다. yield
코드 블록 내에있는 코드에서 어떻게 루프에서 빠져 나옵니까?
분명히 말하면,''END''가 결코 출력되지 않도록'msg'에서'return'을하고 싶습니까? 아니면 단순히'job.run! '을 호출하지 않고'msg'를 계속 사용 하시겠습니까? – Phrogz