オブジェクトの新しい getter メソッドを定義したいと考えています。ここに私が書いているコードがありますirb
:
> eigenclass = class << self; self; end
> eigenclass.class_eval { attr_reader :foo }
このコードは、foo
self オブジェクトにメソッドを追加する必要があると思います。しかし、次の行は違うと言います
puts foo
=> nil
foo = 1
=> 1 #Why is there no exception?
puts foo
=> 1
puts @foo
=> nil
何故ですか?