From: Patrick Doyle Date: 2008-10-04T04:36:14+09:00 Subject: class << self Sorry if this is a FAQ, but I was just looking at some Ruby code and came across the following construct: class << self def blahblahblah ... end end I wondered what that did, went looking, and came across this email thread from 2002: http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/57244, in reading that, I came across this (slightly modified) code: class A B = 12 def self.a puts "class method A::a : #{B}" end def A.b puts "class method A::b : #{B}" end class << self B = 24 def c puts "class method A::c : #{B}" end end end A.a A.b A.c puts "A::B : #{A::B}" Could somebody enlighten me as to what is going on here? I didn't completely follow all of the ins & outs of the thread, nor why def self.a is better/different than def A.a is better different than class << self def a Can anybody comment or point me in the direction of some enlightenment? --wpd