From: Christian Szegedy Date: 2002-08-22T02:15:05+09:00 Subject: instance_eval I would like to write a function which evaluates a block in the ontext of an object. I tried something like that (of course it did not work): class MyClass attr_reader :test end def f(&block) x = MyClass.new x.instance_eval(&block) x end puts( (f { @test = 1 } ).test ) I would like to achieve that the code block of f is evaluated in the context of the new MyClass object. It is evaluated in the main context. Is there a way to rewrite my f function so that the last line of the code prints 1 instead of nil, or is it pricipially impossible in Ruby? Regards, Christian