This is my third day doing ruby and I am stuck with this problem:
2.0.0-p0 :001 > class SomeClass
2.0.0-p0 :002?> attr_accessor:a_var
2.0.0-p0 :003?> def initialize
2.0.0-p0 :004?> a_var = Hash.new
2.0.0-p0 :005?> puts "Initialized #{a_var.class}"
2.0.0-p0 :006?> end
2.0.0-p0 :007?> def a_fun
2.0.0-p0 :008?> puts "Initialized #{a_var.class}"
2.0.0-p0 :009?> end
2.0.0-p0 :010?> end
=> nil
2.0.0-p0 :011 > some_obj = SomeClass.new
Initialized Hash
=> #<SomeClass:0x007f9d1d809118>
2.0.0-p0 :012 > some_obj.a_fun
Initialized NilClass
=> nil
2.0.0-p0 :013 >
As you can see, the member variable a_var gets initialized inside in the initialize
method but the value is lost when a_fun
method is called.
I could not find anyone else facing this issue online.
Can someone please point me to my mistake please?