Ruby 4.1 リファレンスマニュアル

instance method ObjectSpace::WeakKeyMap#[]=

self[key] = valueRuby 3.3 から[permalink][rdoc][edit]

key に対応する値として value を登録します。

key への参照は弱参照です。他から key を参照するものが無くなると、キーと値の組は GC によって取り除かれます。値そのものへの参照は強参照です。

key に対応する組が既にある場合は、値だけを置き換えます。

[PARAM] key:
キーを指定します。GC の対象になるオブジェクトだけを指定できます。
[PARAM] value:
値を指定します。
[EXCEPTION] ArgumentError:
GC の対象にならないオブジェクト(IntegerSymbol など)をキーに指定した場合に発生します。
map = ObjectSpace::WeakKeyMap.new
key = "name"
map[key] = 1
p map["name"] # => 1

map[key] = 2
p map["name"] # => 2

map[1] = 3 # ~> ArgumentError

[SEE_ALSO] ObjectSpace::WeakKeyMap#[]