From: Florian Gross Date: 2004-10-05T04:49:52+09:00 Subject: Re: Kernel#eval taking a block trans. (T. Onoma) wrote: > I see. So this kind of thing just can't happen I take it. (Hmm... I think we > discussed this kind of thing on core once.) It would be nice if we could pass > in locals to the binding: > > eval(tb, a) { |a| cool = a.call(cool) } > > It might also be nice if this could be done without "stepping on toes" (i.e. > overwriting binding's locals). You can use this workaround: eval("cool = yield.call(cool)", tb) { a } And in this case also: eval("cool = yield(cool)", tb, &a) Regards, Florian Gross