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. How about 1.9? Does anyone feel this is an important feature to have? Thank you. Guoliang Cao -- Posted via http://www.ruby-forum.com/.