Rubyリファレンス: Home

attr_writer (Module)

Edit   History

標準クラス・モジュール > Module > attr_writer

private

attr_writer(name, ...)

attr_writerメソッドは、クラスやモジュールにインスタンス変数を書き込むためのアクセサメソッドを定義します。引数には、インスタンス変数名をシンボルか文字列で指定します(複数指定できます)。戻り値はnilです。

次の例では、親クラスProductで読み出し用のtitleメソッドが定義されていますが、サブクラスのBookでは書き込み用のtitle=メソッドも加えています。

class Product
  attr_reader :title
  
  def initialize(title)
    @title = title
  end
end
 
class Book < Product
  attr_writer :title
end
 
book = Book.new("Programming Ruby")
puts book.title
book.title = "Programming Ruby 2nd Edition"
puts book.title
Programming Ruby
Programming Ruby 2nd Edition

上記の例は、次のように記述するのと同じことです。

class Book < Product
  def title=(val)
    @title = val
  end
  (後略)

関連項目