Issue #9815 has been updated by Nobuyoshi Nakada. Status changed from Open to Closed 意図的なものです。 `rb_ivar_get`と`rb_attr_get`の差です。 ---------------------------------------- Bug #9815: attr_reader doesn't warn on a uninitialized instance variable https://bugs.ruby-lang.org/issues/9815#change-46613 * 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 は、同じ意味だと思って居たのでびっくりした次第です。 -- https://bugs.ruby-lang.org/