On Thursday 15 March 2007 13:57, Damjan Rems wrote:
> What I am trying to accomplist is:
>
>   class MyClass
>     def addVar(var, val)
>       instance_variable_set("@#{var}", val)
>       define_method("#{var}")  { || instance_variable_get("#{var}") }
>     end
>   end
>
>   c = MyClass.new
>   c.addVar('aa',10)  # here pops the error
>   c.aa   # should return 10
>
> But I get this error:
> NoMethodError: undefined method `define_method' for #<MyClass:0x2d01cc0
> @aa=10>
>         from (irb):4:in `addVar'
>         from (irb):8
>
> I know this should work because it's used all over rails.
>
> Advice me please
>
> TheR
define_method won't work in instance method, you have to use class method o 
just use eval("def #{var}; here return value; end");