dev/mom0tomo

技術メモ

Rubyのattr_accessorとは

読んだもの

Rubyのattr_accessor, attr_reader, attr_writerとは何か -- ぺけみさお

学んだこと

attr_accessor とは、インスタンス変数にアクセスするためのメソッドを定義するメソッドのこと。
プライベート変数に対するセッタやゲッタを自動的にセットしてくれる。

以下の3種類が使える。

  • attr_accessor: セッタとゲッタを共に定義する
  • attr_reader : ゲッタのみを定義する
  • attr_writer : セッタのみを定義する

attr_readerは下のメソッドと同じ働きをする。

class User
  attr_reader :person
end
class User
  def person
    @person
  end
end

attr_writerは以下のメソッドと同じ働きをする。

class User
  attr_writer :person
end
class User
  def person=(val)
    @person = val
  end
end