Although the end result should be the same, I wonder if for a collection of 
items where there is a lot of duplicates the sequential nature of collecting 
and then converting to a Set wouldn't be less performant than Mariano's 
proposed method?

--
Cesar Rabak 



Em 10/03/2010 10:07, Nicolas Cellier < [email protected] > 
escreveu:
self collect: aBlock as: Set

2010/3/10 Mariano Martinez Peck :
> Hi. I was needing something like the SQL select distinct, that doesn't take
> into account repeated objects. I didn't found anything useful in Collection,
> and thus, I have implemented this:
>
> Collection >> collectDistinct: aBlock
>
>
> collectDistinct: aBlock
>     "Evaluate aBlock with each of the receiver's elements as the argument.
>     Collect the resulting values into a Set, thus repeated objects will not
> be present.
>     Answer the new collection."
>
>     | newSet |
>     newSet := self species new asSet.
>     self do: [:each | newSet add: (aBlock value: each)].
>     ^ newSet
>
>
> Is there a better way ?   Do you think it make sense to put this in Pharo ?
>
> Cheers
>
> Mariano
>
> _______________________________________________
> Pharo-project mailing list
> [email protected]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>

_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to