Hi -- On Sun, 14 Aug 2005, gabriele renzi wrote: > Hi gurus and nubys, > > is there a way to add a constant into an object which is not a module/class? > > Basically what I'd like is some kind of append_features/include that works on > non-module objects. > > Is my only chance to mess up with the singleton class by myself, or there is > some existing method for this? If I understand you correctly, I think Kernel#extend is what you need: irb(main):001:0> s = "" => "" irb(main):002:0> module M; X=1; end => 1 irb(main):003:0> s.extend(M) => "" irb(main):004:0> (class << s; self; end)::X => 1 I think that's the closest thing corresponding to "adding a constant" to an arbitrary object (adding it to the object's singleton class). David -- David A. Black dblack / wobblini.net