From: nobu.nokada@... Date: 2002-12-17T12:48:18+09:00 Subject: Re: How to return value from middle of a block? Hi, At Tue, 17 Dec 2002 11:59:01 +0900, Jim Freeze wrote: > > |I am trying to return a value from a middle of a block, > > |but when I do, it exits the block. > > > > break > > > > if you're using 1.7 > > > > Hmm, I tried that, but it didn't work. > > -> ./ruby173/bin/ruby -v > ruby 1.7.3 (2002-12-04) [i386-freebsd4.6] > -> cat p1.rb > def _parse > loop { puts yield } > end > > def parse > i = 0 > _parse { > #(i+=1) == 3 ? rtn = nil : rtn = i > #rtn > if (i+=1) == 3 > break nil > end > i > } > end `break' exits closest *lexical* block, try with `next'. -- Nobu Nakada