Common enough to include it?
Sebastian Sastre
ssastre at seaswork.com
Tue Jan 22 17:35:09 UTC 2008
Oh great. I had the idea that they where accepting only blocks. Cool,
cheers,
Sebastian Sastre
> -----Mensaje original-----
> De: squeak-dev-bounces at lists.squeakfoundation.org
> [mailto:squeak-dev-bounces at lists.squeakfoundation.org] En
> nombre de Andreas Raab
> Enviado el: Martes, 22 de Enero de 2008 15:15
> Para: The general-purpose Squeak developers list
> Asunto: Re: Common enough to include it?
>
> Both patterns effectively exist:
>
> (1 to: 3) collect: #printString
>
> Cheers,
> - Andreas
>
> Sebastian Sastre wrote:
> > Hi there,
> >
> > I've found a couple of simple but nice conveniences in
> collections:
> >
> > A) To be able to do things like:
> >
> > persons collectAspect: #surname
> >
> > collectAspect: aSymbol
> > "Collects the element's answer to aSymbol"
> > ^ self collect:[:each| each perform: aSymbol]
> >
> > B) To be able to do things like:
> >
> > 1 to: 12 collect:[:i| (Month nameOfMonth: i) asString ]
> >
> > to: stop collect: aBlock
> > "Evaluate aBlock and adds it's answer to results
> > for each element of the interval (self to: stop by: 1)."
> > | nextValue results |
> > nextValue _ self.
> > results := OrderedCollection new.
> > [nextValue <= stop]
> > whileTrue:
> > [results add: (aBlock value: nextValue).
> > nextValue _ nextValue + 1].
> > ^ results
> >
> > Maybe they are universal enough to include in base?
> >
> > cheers,
> >
> > Sebastian Sastre
> > PS: I'm proposing to use this #collectAspect: in the very
> same way of
> > #pluck as you can found it in Prototype enumerable, a kind of
> > collection abstraction for javascript.
> >
> >
> >
>
>
More information about the Squeak-dev
mailing list
|