From: David Stokar Date: 2006-08-04T02:54:51+09:00 Subject: Re: Creating Classes at runtime David Stokar wrote: it works like this (just copy and paste) module ClassGenerator class Normal def self.add_method(name, return_value ) define_method( name ) do return return_value end end def self.add_index( name, index ) define_method( name ) do return index end define_method( 's_'+index.to_s ) do return name end end def self.foo puts("Hello from foo") end end def self.generate_new_class(name)#, parent = Class) const_set(name, Class.new(Normal)) end end ClassGenerator.generate_new_class(:MyNew) ClassGenerator::MyNew.foo ClassGenerator::MyNew.add_method( 'bar', "Hello from Bar") s = ClassGenerator::MyNew.new puts(s.bar) ClassGenerator::MyNew.add_index('write',1) ClassGenerator::MyNew.add_index('read',2) ClassGenerator::MyNew.add_index('create',3) puts( 'Write: '+s.write.to_s) puts( 'Read: '+s.read.to_s) puts( 'Create: '+s.create.to_s) puts( '1: '+s.s_1) puts( '2: '+s.s_2) puts( '3: '+s.s_3) -- Posted via http://www.ruby-forum.com/.