class WeakRef
Klasse für schwache Referenzen, die es ermöglicht, dass ein referenziertes Objekt vom Garbage Collector gesammelt wird.
Eine WeakRef kann genau wie das Objekt verwendet werden, auf das sie verweist.
Verwendung
foo = Object.new # create a new object instance p foo.to_s # original's class foo = WeakRef.new(foo) # reassign foo with WeakRef instance p foo.to_s # should be same class GC.start # start the garbage collector p foo.to_s # should raise exception (recycled)
Constants
- VERSION
-
Die Versionszeichenfolge
Öffentliche Klassenmethoden
Source
# File lib/weakref.rb, line 35 def initialize(orig) case orig when true, false, nil @delegate_sd_obj = orig else @@__map[self] = orig end super end
Erstellt eine schwache Referenz auf orig
Ruft die Methode der Superklasse
Delegator::new aufÖffentliche Instanzmethoden
Source
# File lib/weakref.rb, line 56 def weakref_alive? @@__map.key?(self) or defined?(@delegate_sd_obj) end
Gibt true zurück, wenn das referenzierte Objekt noch existiert.