のコメントを書いたときに Ruby のリファレンスマニュアルを見直していました。Ruby 的にはどうやら「属性参照」と呼ぶらしいです(仮称のようにも感じますが)。ちなみに英語マニュアルだと Assignment Methods (代入メソッド)でした1。
代入
例:
foo.bar = baz文法:
式`.'識別子 '=' 式(中略)
属性参照
式1 `.' 識別子 '=' 式2
式 1
を評価して得られるオブジェクトに対して、識別子=
というメソッドを、式 2
を引数にして呼び出します。例:
class C def foo @foo end def foo=( v ) @foo = v end end c = C.new c.foo = 5 # c.foo=( 5 ) のように変換される p c.foo # => 5属性は
Module#attr
を使って同じように定義できます。例:
class C attr :foo, true end c = C.new c.foo = 5 # c.foo=( 5 ) のように変換される p c.foo # => 5