From: Ezra Zygmuntowicz Date: 2007-10-21T15:38:15+09:00 Subject: Re: Anonymous classes? On Oct 20, 2007, at 10:28 PM, Ben Tilly wrote: > Here is what I'd like to do. > > anonymous_class = class.new; > > # somehow define methods on anonymous_class > > # somehow create an object of type anonymous_class > > And I'm running into a roadblock. I can create an anonymous class > easily enough, I just can't figure out how to define methods on it. > Like initialize. Or create objects of that type. > > Yes, I know about singleton classes, but they don't do what I want > because I also want to create subclasses of these subclasses, and > instances of these subclasses. > > As for why I want this, I'm trying to see whether I can figure out how > to implement a decent prototype based class system in Ruby. A friend > says that you can't. I thought that a clean way to do it would be to > create an anonymous class, and create an object Prototype of that > class. > I would make sure that Prototype's new method would create a new class > which is a subclass of Prototype's, and an object of that class > with the > prototype being the object that new was called on. And Prototype > would > have a def method which would define new methods in the class of the > object that def was called on. > > And yes, I know I could do this by dynamically creating normal classes > with calls to eval. But I'd prefer to avoid going there. > > Thanks, > Ben > -- > Posted via http://www.ruby-forum.com/. > http://codeforpeople.com/lib/ruby/prototype/prototype-2.0.0/README Cheers- Ezra Zygmuntowicz Founder & Ruby Hacker ezra@engineyard.com EngineYard.com