Google

$BA0(B - $B>e(B - $B - $BL\

ObjectSpace

$BA4$F$N%*%V%8%'%/%H$rA`:n$9$k$?$a$N%b%8%e!<%k!%(B

$B%b%8%e!<%k4X?t(B:

add_finalizer(proc)

proc$B$r(Bfinalizer$B$H$7$F@_Dj$7$^$9!%(B call_finalizer$B$G(B $B;XDj$7$?%*%V%8%'%/%H$,3+J|$5$l$k;~!$$=$N%*%V%8%'%/%H$N(BID(c.f Object#id)$B$r0z?t$K(Bfinalizer$B$,I>(B $B2A$5$l$^$9!%(B

call_finalizer(obj)

obj$B$r(Bfinalizer$B$NBP>]%*%V%8%'%/%H$H$7$F@_Dj$7$^$9!%(B

finalizers

$B8=:_EPO?$5$l$F$$$k(Bfinalizer$B$NG[Ns$rJV$7$^$9!%(B

each_object([class_or_module])

class_or_module$B$H(B kind_of?$B$N(B $B4X78$K$"$kA4$F$N%*%V%8%'%/%H$KBP$7$F7+$jJV$7$^$9!%0z?t$,>JN,$5$l(B $B$?;~$K$OA4$F$N%*%V%8%'%/%H$KBP$7$F7+$jJV$7$^$9!%(B

garbage_collect

$B$I$3$+$i$b%"%/%;%9$5$l$J$/$J$C$?%*%V%8%'%/%H$r2s<}$7$^$9!%(B

remove_finalizer(proc)

$B;XDj$7$?(Bproc$B$r(Bfinalizers$B$+$i


$BA0(B - $B>e(B - $B - $BL\

matz@netlab.co.jp