[Newbies] Re: Recap: How to empty a collection
Janko Mivšek
janko.mivsek at eranova.si
Wed Feb 20 09:53:53 UTC 2008
This is the last change, I promise :) Previous solution was for
collections in general, while for OrderedCollection you can simply do:
self setCollection: Array new.
A bit optimized method will therefore be:
removeAll
"remove all elements quickly"
self setCollection: (Array new: 10). "Squeak specific"
self become: OrderedCollection new " "VW specific"
Janko
Janko Mivšek wrote:
> Ok, I reimplemented this method as Bert suggested and in the next
> version of Aida/Web it will be:
>
> OrderedCollection>>removeAll
> "remove all elements quickly"
> self removeAllSuchThat: [:each | true]. "Squeak specific"
> " self become: OrderedCollection new " "VW specific"
>
> Note that this method is still an extension of Aida and it must
> therefore be portable among dialects, which is the reason of commented
> code for VW above.
>
> Best regards
> Janko
>
>
> Bert Freudenberg wrote:
>> On Feb 20, 2008, at 2:01 , nicolas cellier wrote:
>
>>>> One thing I wasn't clear on is whether Bert's suggestion:
>>>> aColl removeAllSuchThat: [:anElement| true].
>>>> Is okay, and why it's okay while many of the other similar
>>>> approaches were not.
>
>>> Bert's suggestion is simple and works well.
>>> The only question is about efficiency.
>>> Up to (Down to?) subclasses to optimize it.
>
>> #removeAllSuchThat: is actually optimized in subclasses (look at its
>> implementation in OrderedCollection).
>
>
--
Janko Mivšek
AIDA/Web
Smalltalk Web Application Server
http://www.aidaweb.si
More information about the Beginners
mailing list