From: Joel VanderWerf Date: 2008-10-19T03:52:00+09:00 Subject: Re: define_method inside a module MR Damien wrote: > hi, > > I am trying to use some dynamic features of ruby. > > Inside my module, I try to add some method dynamicaly but I get an error > when I am trying to. > > > > module Rubyhaviour > def add(object) > name = "@" + object.class.downcase > > if self.instance_variable_get(name) > self.instance_variable_get(name) << object > else > self.instance_variable_set(name, Array.new) > self.instance_variable_get(name) << object > > define_method(name) do > instance_variable_get("@#{name}") > end > end > end > end > undefined method `define_method' for # (NoMethodError) Try working in the singleton class: class C def foo class << self define_method :bar do puts "BAR"; end end end end c = C.new c.foo c.bar -- vjoel : Joel VanderWerf : path berkeley edu : 510 665 3407