Hi nicolas

Yes but it looks strange :)
but indeed having a

#keysAndValuesSelect: #keysAndValuesCollect:

And it would be good to have #withIndexDo: following the same orders for
argument.



On Thu, Apr 20, 2017 at 6:31 PM, 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).
>

Reply via email to