On Fri, Apr 21, 2017 at 12:31 AM, Nicolas Cellier <[email protected]> wrote: > > > 2017-04-20 17:06 GMT+02:00 Ben Coman <[email protected]>: >> >> >> >> On Thu, Apr 20, 2017 at 3:17 AM, Stephane Ducasse >> <[email protected]> wrote: >>> >>> why? >>> Iterators are powerful and avoid that we all reinvent the wheel in our >>> own corners. >>> >>> About keySelect: I do not see the point to convert a large collection >>> into a dictionary then do yet another pass. >>> To me it looks like a hack. >>> >>> I implemented >>> selectEvery: >>> (selectFirst selectSecond) as helpers. >>> >>> and also unzip all in one pass. >>> Now I have no problem to keep them for me but to me this is the wrong >>> attitude. >>> >>> Stef >>> >>> >>> testSelectEveryFirst >>> self assert: (#(#Object #subclass: #Point #instanceVariableNames: 'x y' >>> #classVariableNames: '' #package: 'Kernel-BasicObjects') selectEveryFirst) >>> asArray equals: #(#Object #Point 'x y' '' 'Kernel-BasicObjects') >> >> >> >> selectEveryFirst seems a strange name, not indicating the skip amount. >> The first of every three? or four? As it stand, technically I'd think its >> result would >> be equals: (#(#Object #subclass: #Point #instanceVariableNames: 'x y' >> #classVariableNames: '' #package: 'Kernel-BasicObjects') >> >> +1 to Peter's suggested #withIndexSelect: >> >> cheers -ben > > > On the other hand, we have #keysAndValuesDo: which competes with > #withIndexDo: and is a bit more portable across dialects > (it's just that it turns the bloc parameters the other way around, [:index > :element | ]) > > So maybe this should have been #keysAndValuesSelect: #keysAndValuesCollect: > > Reminder, keys does not mean Dictionary, in an IndexedCollection (or maybe a > SequenceableCollection) the keys are indices. Or the other way around, a > Dictionary is indexed by arbitrary keys (not just positive integers).
Sounds like something I should know, but I'm not quite getting it. Could you provide an example? cheers -ben
