From: "Iñaki Baz Castillo" Date: 2009-03-31T07:05:58+09:00 Subject: Re: When to use instance variables @ El Martes 31 Marzo 2009, Albert Schlef escribió: > In Ruby you declare nothing. (That's unlike languages like Java, C, > etc., where everything has to be declated before use.) This is not true when using class variables (@@). These need to be "declared" at the beginning of the class: class KK @@koko # <-- WRONG since no assignement is done. # @@koko = #SOMETHING# is required. def show_var puts "koko = #{@@koko}" end def set_var(v) @@koko = v end end irb(main):022:0> k=KK.new irb(main):023:0> k.show_var NameError: uninitialized class variable @@koko in KK irb(main):024:0> k.set 123 irb(main):025:0> k.show_var koko = 123 -- Iñaki Baz Castillo