From: Eric Hodel Date: 2007-09-20T18:10:35+09:00 Subject: class variables and singleton classes Class variables in singleton classes are separate from class variables in classes in 1.9 now. Is this on purpose? $ cat class_variables.rb module X @@cv1 = nil class << self def cv1() @@cv1 ||= 'cv1' end end def self.cv1=(obj) @@cv1 = obj end @@cv2 = nil def self.cv2() @@cv2 ||= 'cv2' end def self.cv2=(obj) @@cv2 = obj end end p X.cv1 X.cv1 = 'new1' p X.cv1 p X.cv2 X.cv2 = 'new2' p X.cv2 $ ruby18 -v class_variables.rb ruby 1.8.6 (2007-06-30 patchlevel 5000) [i686-darwin8.10.1] "cv1" "new1" "cv2" "new2" $ ruby19 -v class_variables.rb ruby 1.9.0 (2007-09-15 patchlevel 0) [i686-darwin8.10.1] syck.so: warning: method redefined; discarding old value "cv1" "cv1" "cv2" "new2" -- Poor workers blame their tools. Good workers build better tools. The best workers get their tools to do the work for them. -- Syndicate Wars