On 5/4/06, Gregory Seidman <gsslist+ruby / anthropohedron.net> 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)
>
> } Thanks.
> } RGR
> --Greg
>
>
>

And if args is an array you want to use as individual params:

obj = Module.const_get(class_name).new(*args)

(note I prefer Module. but both work)
pth