这是我第三天做的红宝石和我坚持这个问题:初始化类的成员变量失去价值红宝石
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 >
正如你所看到的,成员变量a_var被里面的initialize
方法初始化,但是当调用a_fun
方法时,该值将丢失。
我在网上找不到其他人。
有人能请我指出我的错误吗?
谢谢。这确实是一个愚蠢的错误。 –