klassemetoder
|
_id2ref
|
ObjectSpace._id2ref( anId )
-> anObject
|
|
Converts an object id to a reference to the object.
May not be
called on an object id passed as a parameter to a finalizer.
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()
)
|
|
Adds aProc as a finalizer, to be called when anObject
is about to be destroyed.
|
each_object
|
ObjectSpace.each_object( [
aClassOrMod
] )
{| anObj | block }
-> aFixnum
|
|
Calls the block once for each living, nonimmediate
object in this Ruby process.
If aClassOrMod is specified, calls the block for only those
classes or modules that match (or are a subclass of)
aClassOrMod.
Returns the number of objects found.
a = 102.7
b = 95
ObjectSpace.each_object(Numeric) {|x| p x }
print "Total count: ", ObjectSpace.each_object {} ,"\n"
|
produces:
102.7
2.718281828
3.141592654
Total count: 372
|
|
garbage_collect
|
ObjectSpace.garbage_collect
-> nil
|
|
Initiates garbage collection (see module GC on page 410).
|
undefine_finalizer
|
ObjectSpace.undefine_finalizer(
anObject )
|
|
Removes all finalizers for anObject.
|