Hello people,

what is the actual difference between class variables and constants?

If I write:

------------------------------------------
#!/usr/local/bin/ruby -w

class TonyCantCode
         @@internal=10

         def TonyCantCode::something
                 return @@internal
         end

         def TonyCantCode::something=(what)
                 @@internal=what
         end


end

class TonyReallyCantCode
         Something=20
end

p TonyCantCode::something
p TonyReallyCantCode::Something

TonyCantCode::something=30
TonyReallyCantCode::Something=40

p TonyCantCode::something
p TonyReallyCantCode::Something
------------------------------------------------

I get a warning about changing a constant, PLUS I called the method  
TonyCantCode::something so that I didn't have to use the brackets at  
the end.

BUT... as far the the scope is concerned, they do seem to be very.  
very similar.
As far as I can see:

* Constants would be referenced mainly from the OUTSIDE of the class.  
For example, if TonyReallycantCode::Something was something very  
meaningful to the USERS of TonyReallyCantCode.

* Class variables would be used mainly from WITHIN the class. Yes, it  
is possible to create accessors, but they might not be necessary.

This is what I worked out. Now the question is: is all the above  
correct?

BYE!

Merc.