From: Bertram Scharpf Date: 2006-01-28T05:15:11+09:00 Subject: class_eval and braces Hi, as I notice there is a difference between `class_eval' called with a block or with a string. Why? Bertram -------------------- VERSION = :braces module M def self.included c case VERSION when :braces then c.class_eval {@@m = rand} when :quotes then c.class_eval "@@m = rand" end end end class C ; @@m = "M" ; def d ; puts @@m ; end ; end class D ; @@m = "M" ; def d ; puts @@m ; end ; end class C ; puts @@m ; end class D ; puts @@m ; end C.new.d D.new.d class C ; include M ; end class D ; include M ; end class C ; puts @@m ; end class D ; puts @@m ; end C.new.d D.new.d -------------------- -- Bertram Scharpf Stuttgart, Deutschland/Germany http://www.bertram-scharpf.de