Ruby 3.4 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Moduleクラス > attr
attr(*name) -> [Symbol]
[permalink][rdoc]attr(name, true) -> [Symbol]
attr(name, false) -> [Symbol]
インスタンス変数読み取りのためのインスタンスメソッド name を定義します。
例
class User
attr :name # => [:name]
# 複数の名前を渡すこともできる
attr :id, :age # => [:id, :age]
end
このメソッドで定義されるアクセスメソッドの定義は次の通りです。
例
def name
@name
end
第 2 引数 が true で指定された場合には、属性の書き込み用メソッド name= も同時に定義されます。その定義は次の通りです。
例
def name=(val)
@name = val
end
第 2 引数 に true か false を指定する方法は非推奨です。