From: macaco Date: 2008-02-07T11:32:00+09:00 Subject: Re: Dynamically instantiate a class ------=_Part_20626_1011204.1202351526466 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline I've found this: def create_class(var) #instantiate class type[var] foo = Object.const_get(type[var]) sub = foo.new puts "#{sub.class}" end Works for me! On 2/6/08, macaco wrote: > > Hi. > > I've been wondering if I can instantiate during execution, I have this > subclasses, but I don't know how to do it by their name as a string. > > This is what I mean: > > class superClass > ... > end > > class subClass1 < superClass > ... > end > > class subClass2 ... > end > > class caller > type = ['subClass1','subClass2'] > > def create_class(var) > #instantiate class type[var] > newClass = type[var].new # ????? > end > end > > I don't wanna do it with a case clause, cos I don't know when I'm going to > add more subclasses. > > Any idea? > ------=_Part_20626_1011204.1202351526466--