[Newbies] Iterating and removing items from OrderedCollections

Ian J Cottee icottee at bluefountain.com
Thu Sep 18 08:06:15 UTC 2008


Hello all

I've got an OrderedCollection that is normally a fixed size (let's say
10 elements). Each element in the collection is another an object or
nil. So for example, at a point in time it might look like

  [nil, nil, Object, nil, Object, Object, nil, nil, Object, nil]

What I want is to be able to resize the collection. Making it bigger
is no problem for me, I can just add nils to the end of the
collection. Making it smaller is involving a little bit of pain. I can
see ways of doing it but theyr'e not elegant and I'm sure there are
cleaner ways of doing it. If I made the above queue smaller I'd
basically remove the nils starting from the beginning. So a resize to
size 7 would give me

 [ Object, Object, Object, nil, nil, Object, nil]

i.e. the first three nils have been removed.

Does anybody have any comments on appropriate code to handle this? If
not, I'll go with the ugly stuff but it would be nice to know the
correct SmallTalk way.

Many thanks for any suggestions.

Ian


More information about the Beginners mailing list