self collect: aBlock as: Set

2010/3/10 Mariano Martinez Peck <marianop...@gmail.com>:
> 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
> 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

Reply via email to