Ok, got it. Thanks for all the explanations! On Wed, Dec 2, 2009 at 12:27 PM, Lukas Renggli <renggli@gmail.com> wrote:
#become: swaps the two pointers, so both objects continue to exist.
Use the asymmetric variant #becomeForward: to get rid of an object.
And you probably also need a "Smalltalk garbageCollect" to make the object really disappear.
Lukas
2009/12/2 Stéphane Ducasse <stephane.ducasse@inria.fr>:
become: changes the pointer pointing to the objects not the object itself. So I'm not sure that instance should be changed.
If I remember correctly what allinstances does is that it use nextObject to iterate over the object spaces.
Stef
On Dec 2, 2009, at 10:21 AM, Mariano Martinez Peck wrote:
Hi! Look this peace of code:
| instance | instance := TestCase new. Transcript show: TestCase allInstances size; cr. instance become: 'aString'. Transcript show: TestCase allInstances size; cr.
The size of TestCase instances is always the same. Although I used become: (and changed to an instance of another class) to one of its instances.
So, my main question is, is this correct ? Or the message allInstances to TestCase should not take into account the instance I sent the message become: ?
Thanks in advance.
Mariano
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
-- Lukas Renggli http://www.lukas-renggli.ch
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project