From: Joel VanderWerf Date: 2009-06-05T16:03:17+09:00 Subject: Re: Question about exiting from a block matt neuburg wrote: > Guoliang Cao wrote: > >> def test >> puts 'before' >> yield 2 >> puts 'after' >> end >> >> test do |i| >> XXX if i > 1 >> # a lot of code appears below >> end >> >> >> I have code above and wonder if it is possible to use >> return/break/anything to stop execution of block and return control to >> test() to execute code after yield. I know it is impossible in 1.8. > > Why is it impossible? Doesn't "break" do what you need? (And remember, > "break" and "next" can even return a value from a block to the yielder.) Nope, break will skip the "after" line. -- vjoel : Joel VanderWerf : path berkeley edu : 510 665 3407