Forum: Ruby-dev attr_reader doesn't warn on a uninitialized instance variable

308cbef6e86dfc49cce3b2d4cf42aedc?d=identicon&s=25 unknown (Guest)
on 2014-05-08 11:41
(Received via mailing list)
Issue #9815 has been updated by Koichi Sasada.


どういう意図でしたっけ。
ちょっとググったけど見当たらず。


----------------------------------------
Bug #9815: attr_reader doesn't warn on a uninitialized instance variable
https://bugs.ruby-lang.org/issues/9815#change-46614

* Author: Koichi Sasada
* Status: Closed
* Priority: Normal
* Assignee: Yukihiro Matsumoto
* Category: core
* Target version: current: 2.2.0
* ruby -v: confirmed by 1.9.3-2.2.0
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN
----------------------------------------

attr_reader で定義したメソッドでは、-w 時に、未設定の警告「warning: instance variable @bar not
initialized」みたいなのが出ないんですが、そういうもんでしょうか。

~~~ruby
class C
  attr_reader :foo
  def bar; @bar; end
end
C.new.foo
C.new.bar #=> t.rb:4: warning: instance variable @bar not initialized
~~~

この例では、foo と bar は、同じ意味だと思って居たのでびっくりした次第です。
This topic is locked and can not be replied to.