[Newbies] Removing 'dead' instances
Randal L. Schwartz
merlyn at stonehenge.com
Sun Sep 28 16:28:48 UTC 2008
>>>>> "Andy" == Andy Burnett <andy.burnett at knowinnovation.com> writes:
Andy> Could some kind soul please explain what I am doing wrong here?
Andy> I have a model, called Fspace, which I have created several instances of,
Andy> whilst I was testing it.
Andy> Fspace allInstances size reports 9 instances.
Andy> When I run
Andy> Fspace allInstancesDo:
Andy> [:each |
Andy> each := nil.
Andy> Transcript show: (each value); cr.
Andy> Smalltalk garbageCollect]
Andy> The transcript shows that the values are set to nil. However, the instances
Andy> don't go away. So, what am I doing wrong?
Setting "each" to "nil" there does nothing, since you aren't
updating the object that was originally in "each".
You need to tell anyone still holding a reference to your objects
to let go. Some advice can be found at http://wiki.squeak.org/squeak/2176
--
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
<merlyn at stonehenge.com> <URL:http://www.stonehenge.com/merlyn/>
Smalltalk/Perl/Unix consulting, Technical writing, Comedy, etc. etc.
See http://methodsandmessages.vox.com/ for Smalltalk and Seaside discussion
More information about the Beginners
mailing list