From: Yochen Gutmann Date: 2006-08-06T03:51:44+09:00 Subject: Inheritance with class-variables Hi, I am quite new into ruby and stumbled over some strange (at least to me) behavior. Have a look and guess what the output of this code might be: class Animal @@temperature = 0 def info_temperature puts "My body temperature is "+@@temperature.to_s+" degree" end end class Spider < Animal @@temperature = 20 end class Horse < Animal @@temperature = 38 end batty = Spider.new fury = Horse.new batty.info_temperature fury.info_temperature Well, for myself, I'd expected that the result were "My body temperature is 20 degree" and "My body temperature is 38 degree". But surprise, surprise, both animals tell me that they have 38 degree! The next strange thing is that this effect seems to depend on the order of the class-definition. How does this happen? And Why ;-) Thanx, Yochen -- Posted via http://www.ruby-forum.com/.