Discussion: Dynamic class names
Afficher un message
Vieux 02/04/2008, 14h15   #5
Martin Boese
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Dynamic class names


Thanks, that's what I was looking for.

That example of mine now works:

name = 'Test'
Object::const_set(name.intern, Class::new do
def write
puts "TEST"
end
end
)
Object::const_get(name).new.write # writes => "TEST"

martin


On Wednesday 02 April 2008 12:19:33 Robert Dober wrote:
> On Wed, Apr 2, 2008 at 11:18 AM, Martin Boese <boesemar@gmx.de> wrote:
> > Is it possible to create classes with a dynamic name? Example:
> >
> > name = "Test"
> >
> > class name # this fails
> > def write
> > puts "TEST"
> > end
> > end
> >
> > puts Object::const_get(name).new.write # => "TEST"

>
> sure
>
> c = Class::new {
> def a; 41 end
> }
> d = Class::new(c) {
> def a; super.succ end
> }
> d.new.a --> 42
>
> HTH
> Robert




  Réponse avec citation
 
Page generated in 0,05643 seconds with 9 queries