[Newbies] remove allInstances?

Louis LaBrunda Lou at Keystone-Software.com
Fri Sep 23 18:09:05 UTC 2016


Hi,

Tobias is right.  I'm use to the VA Smalltalk one way #become: and forgot about Squeaks two way
#become:, sorry about that.

Lou

On Fri, 23 Sep 2016 19:47:31 +0200, Tobias Pape <Das.Linux at gmx.de> wrote:

>Hi,
>
>On 23.09.2016, at 15:03, Louis LaBrunda <Lou at Keystone-Software.com> wrote:
>
>> Hi Joseph,
>> 
>> Try:
>> 
>> Books allInstances do: [:b | b become: nil].
>
>I would advise against that. Become is a sledgehammer and you're about to crush ants with it.
>
>What happens with 'a become: b' ? All occurrences of 'a' in the image are replaced by 'b' and (this is important) vice versa.
>So, all 'b's are replaces by 'a'.
>
>With your example, all occurrences of nil are replaced with an instance of Book, in the whole image. This is most probably _not_ what you want.
>
>These two versions work better:
>
>Books allInstances do: [:b | b becomeForward: nil].
>Books allInstances do: [:b | b become: Object new].
>
>The first avoids the 'vice versa' part of become: and is more safe, the second one
>does the switcharoo with a new object every time, wich is also more safe.
>
>Anyhow, I presume that your intent is to track down instances of Book wich you don't know where they are.
>
>Maybe they are actually unreferenced already, so
>	Smalltalk garbageCollect
>can get already rid of them. 
>
>If that does not help, you can try to track the references down by doing
>
>	Books allInstances do: [:b | b chasePointers]
>
>which will open a PointerFinder for each of the rouge object so you can inspect where they get referenced.
>
>I hope this helps.
>
>Best regards
>	-Tobias
>
>
>> 
>> Lou
>> 
>> On Fri, 23 Sep 2016 00:40:33 -0500, Joseph Alotta <joseph.alotta at gmail.com> wrote:
>> 
>>> Greetings,
>>> 
>>> The main program I am working on now is called Books.
>>> 
>>> If I evaluate
>>> 
>>> Books allInstances => anOrderedCollection( aBook aBook aBook )
>>> 
>>> How do I set them all equal to nil like
>>> 
>>> Books removeAllInstances.
>>> 
>>> Books allInstances => anOrderedCollection().
>>> 
>>> 
>>> Sincerely,
>>> 
>>> Joseph.
>> -- 
>> Louis LaBrunda
>> Keystone Software Corp.
>> SkypeMe callto://PhotonDemon
>> 
>> _______________________________________________
>> Beginners mailing list
>> Beginners at lists.squeakfoundation.org
>> http://lists.squeakfoundation.org/mailman/listinfo/beginners
-- 
Louis LaBrunda
Keystone Software Corp.
SkypeMe callto://PhotonDemon



More information about the Beginners mailing list