From: Robert Klemme Date: 2004-04-19T22:04:08+09:00 Subject: Re: convert yield to proc "Simon Strandgaard" schrieb im Newsbeitrag news:pan.2004.04.19.11.00.15.63416@adslhome.dk... > On Mon, 19 Apr 2004 13:51:00 +0200, Simon Strandgaard wrote: > > On Mon, 19 Apr 2004 20:42:58 +0900, ts wrote: > >> > > > > Bommer.. your right. I thought I was on to something. > > > > > > Any idea how to do this? > > > Just realized that my knowledge about &block is flawed! > > server> ruby a.rb > before > after > before > middle > after > server> expand -t2 a.rb > def m(&block) > puts "before" > if block_given? > block.call > end > puts "after" > end > > m > > m do > puts "middle" > end > server> Even simpler: def foo(&bl) bl.call(whatever) if bl end def bar(&bl) foo(&bl) end # or def foo yield whatever end def bar(&bl) if bl foo &bl else foo() {} end end Regards robert