From: Dan Doel Date: 2004-04-20T08:15:14+09:00 Subject: Re: convert yield to proc My bad. Looked at the original post, and here's the problem: class Bar def foo #stuff end end def baz1(&blk) Bar.new.instance_eval &blk end def baz2 baz1 &lambda { yield } end baz2 { foo } When you yield to the block for baz2, it tries to call the method foo of a Bar object, but it's not actually being instance_evaled, only the { yield } block is being instance evaled, so you get an undefined method error. Thanks for correcting me. - Dan