From: "Eric D." Date: 2006-02-01T04:29:45+09:00 Subject: question about class variables and instance variables Hello, I've some difficolties with instance variables and classe variables With : class A def foo @foo end def bar @@bar end end a = A.new --------- ------------ ------------ | | | | | | | a |--(instance_of)->-| A |--(instance_of)->-| Class | | | | | | | --------- ------------ ------------ a is an instance of A which itself is an instance of Class @foo is an instance variable, so it is stored in box "a" @@bar is a class variable, so it is stored in box "A" if I do something like the following : class A def A.strange @strange end end Where is stored my @strange ? I had the hypothesis that @strange in the "A" context was equivalent to @@strange in the "a" context but the following code prove me to be wrong : class A def A.strange @strange end def strange=( val ) @@strange = val end end a = A.new a.strange= 2 p A.strange # output is nil, not 2 Could someone explain me where to place this @strange ? in which box could I store it ? Thanks in advance -- Eric D. -- Posted via http://www.ruby-forum.com/.