From: ts Date: 2002-11-20T00:47:09+09:00 Subject: Re: Need help dynamically creating classes. >>>>> "d" == dblack writes: d> Is there any difference (significant or otherwise) between this and: d> def render d> @generate.call d> end Yes, self :-) pigeon% cat b.rb #!./ruby class SceneObject def initialize(&generate) @generate = generate end alias init initialize def render instance_eval(&@generate) end def rendernot @generate.call end end def defineClass(name, &block) Object.const_set(name, Class.new(SceneObject)).instance_eval do define_method(:initialize) { init(&block) } end end defineClass("MyObject") do puts "render some object #{self}" end a = MyObject.new a.render a.rendernot pigeon% pigeon% b.rb render some object # render some object main pigeon% Guy Decoux