On Fri, 5 May 2006, Gregory S. wrote:
On Fri, May 05, 2006 at 03:51:39AM +0900, RGR wrote:
} I want to create an object from a class, but the name of that class is
} in a variable, so the form obj=Class.new(args) can’t be used. How can it
} be done? Without using eval, because its a bit messy and unelegant.
} The equivalent of obj=$variable_with_class_name(args) in php.
obj = Object::const_get(class_name).new(args)
mussel:~ > irb -r digest/md5
irb(main):002:0> obj = Object::const_get(“Digest::MD5”).new(args)
NameError: wrong constant name Digest::MD5
from (irb):2:in `const_get’
it needs to be a bit smarter than that.