self[key] = valueRuby 3.3 から[permalink][rdoc][edit]-
key に対応する値として value を登録します。
key への参照は弱参照です。他から key を参照するものが無くなると、キーと値の組は GC によって取り除かれます。値そのものへの参照は強参照です。
key に対応する組が既にある場合は、値だけを置き換えます。
- [PARAM]
key: - キーを指定します。GC の対象になるオブジェクトだけを指定できます。
- [PARAM]
value: - 値を指定します。
- [EXCEPTION]
ArgumentError: - GC の対象にならないオブジェクト(Integer や Symbol など)をキーに指定した場合に発生します。
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#[]
- [PARAM]