class methods
|
_id2ref
|
ObjectSpace._id2ref( anId )
-> anObject |
|
Konvertiert eine Objekt-Id in eine Referenz auf dieses Objekt.
Darf nicht aufgerufen werden für eine Objekt-Id, die als Parameter
an einen Finalizer übergeben wurde.
s = "I am a string" |
» |
"I am a string" |
r = ObjectSpace._id2ref(s.id) |
» |
"I am a string" |
r == s |
» |
true |
|
define_finalizer
|
ObjectSpace.define_finalizer(
anObject, aProc=proc()
)
|
|
Fügt aProc als Finalizer hinzu, d.h. es wird aufgerufen, wenn die
Zerstörung von anObject ansteht.
|
each_object
|
ObjectSpace.each_object( [aClassOrMod] )
{| anObj | block }-> aFixnum |
|
Ruft den Block auf für jedes lebende nicht immediate Objekt in diesem
Ruby-Prozess. (Immediate sind direkte Objekte wie kleine Zahlen oder
Strings.)
Falls aClassOrMod angegeben ist, wird der Block nur für die
Klassen oder Module aufgerufen, die aClassOrMod entsprechen (oder
davon eine Unterklasse sind).
Liefert die Anzahl der gefundenen Objekte zurück.
a = 102.7
b = 95
ObjectSpace.each_object(Numeric) {|x| p x }
print "Total count: ", ObjectSpace.each_object {} ,"\n"
|
erzeugt:
102.7
2.718281828
3.141592654
Total count: 376
|
|
garbage_collect
|
ObjectSpace.garbage_collect
-> nil |
|
Initialisiert die Garbage-Collection (siehe Modul GC auf Seite 414).
|
undefine_finalizer
|
ObjectSpace.undefine_finalizer(
anObject )
|
|
Entfernt alle Finalizers für anObject.
|