Common enough to include it?

Sebastian Sastre ssastre at seaswork.com
Tue Jan 22 18:45:47 UTC 2008


Hi Bert,

	as a convenience I don't present objections. The usability problem I
saw on that is the convenience being a hidden feature. Ofcourse
Collection>>"collect: aValuableOrSymbol" could suggest it's existence
palliating that.

	cheers,

Sebastian Sastre


> -----Mensaje original-----
> De: squeak-dev-bounces at lists.squeakfoundation.org 
> [mailto:squeak-dev-bounces at lists.squeakfoundation.org] En 
> nombre de Bert Freudenberg
> Enviado el: Martes, 22 de Enero de 2008 15:41
> Para: The general-purpose Squeak developers list
> Asunto: Re: Common enough to include it?
> 
> They "accept" anything that understands #value:. There are 
> different opinions about Symbol>>#value: being a good idea or 
> not. It's certainly convenient.
> 
> - Bert -
> 
> 
> On Jan 22, 2008, at 18:35 , Sebastian Sastre wrote:
> 
> > 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