From: why the lucky stiff Date: 2005-04-19T02:28:47+09:00 Subject: Re: [ANN] Article: Seeing Metaclasses Clearly Lionel Thiry wrote: > The only I've found to make your sample code work is to refactor > class_def this way: > def class_def name, &blk > meta_eval { define_method name, &blk } > end That's the `meta_def' you've recreated above. The `class_def' method is intended to be used to add instance methods (like the `initialize' I'm adding in Dwemthy's Array): class Dragon; end Dragon.class_def :initialize do @life = 11; @strength = 12 end >> d = Dragon.new => # The `meta_def' can be used to add class methods, because of reasons stated throughout the article and in my response to Jeff. _why