sum := #+ init: 0.
sum1 := #(1 1 1) reduce: sum.
sum2 := (1 to: 1000) transduce: #odd filter reduce: sum.On 22 January 2018 at 00:47, Stephane Ducasse <stepharo.self@gmail.com> wrote:
> Hi Ben and Clement
>
> I have a collection (a dictionary in my case) and I want to get
> maximum 5 bindings out of it and iterate on them.
> I want keysAndValuesDo: or do: but only up to 5 elements.
>
> aDict atMax: 5 do: [:each | ]
"atMax" sound a bit like comparison rather than counting. Perhaps
better would be...
�� �� aDict atMost: 5 do: [:each | ]�� ��"or"
�� �� aDict for: 5 do: [:each | ]
but rather than introduce three or more messages...
�� �� aDict atMost: 5 do: [:each| ... ]
�� �� aDict atMost: 5 select: [:each| ... ]
�� �� aDict atMost: 5 collect: [:each| ... ]
why not introduce just one method?....
�� �� (aDict any: 5) do: [:each| ... ]
�� �� (aDict any: 5) select: [:each| ... ]
�� �� (aDict any: 5) collect: [:each| ... ]
cheers -ben
> So I learned from:to:do:
>
> aCollection atMax: 5 do: [:each | ]
>
> Does it make sense?
>
> Stef
>
> On Sun, Jan 21, 2018 at 1:16 PM, Cl��ment Bera <bera.clement@gmail.com> wrote:
>> I don't think we do. Do you need it on SequenceableCollection or
>> HashedCollection too ?
>>
>> Recently I was trying to iterate over the first N elements of a collection
>> and since there was no #first:do: I used #from:to:do:. I guess you could use
>> that too:
>>
>> aCollection from: 1 to: (aCollection size min: 1000) do: aBlock
>>
>> Which guarantees you iterate at max over 1000 elements. But that API is
>> SequenceableCollection specific.
>>
>> On Sun, Jan 21, 2018 at 11:44 AM, Ben Coman <btc@openinworld.com> wrote:
>>>
>>> On 21 January 2018 at 18:36, Stephane Ducasse <stepharo.self@gmail.com>
>>> wrote:
>>> > Hi
>>> >
>>> > I would like to iterate at max on a certain amount of elements in a
>>> > collection.
>>> > And I was wondering if we have such iterator.
>>>
>>> I'm not clear what functionality your asking for.�� Could you present
>>> it as code & result if you assumed the iterator you want was
>>> available?
>>>
>>> cheers -ben
>>>
>>
>>
>>
>> --
>> Cl��ment B��ra
>> Pharo consortium engineer
>> https://clementbera.wordpress.com/
>> B��timent B 40, avenue Halley 59650 Villeneuve d'Ascq
>
|
������ | Guille Polito Research Engineer Centre de Recherche en Informatique, Signal et Automatique de Lille CRIStAL - UMR 9189 French National Center for Scientific Research - http://www.cnrs.fr Phone: +33 06 52 70 66 13 |