attr_readerでアクセサ作り
Rubyでは、attr_readerを使うと属性へのアクセサ(ゲッタ)を作れます。以下のプログラムでは@attr1のgetterはありますが、@attr2のgetterはありません。ですからo.attr2でエラーになります。
class Rubyco attr_reader :attr1 def initialize(attr1, attr2) @attr1 = attr1 @attr2 = attr2 end end o = Rubyco.new(123, 456) p o.attr1 p o.attr2
実行結果の抜粋です。
123 undefined method `attr2' for #<Rubyco:0x2946f58 @attr2=456, @attr1=123> (NoMethodError)