Now an iterator getting atMax: x elements could be better because we
could them combined it with collect:, detect:...

Stef

On Sun, Jan 21, 2018 at 5:56 PM, Stephane Ducasse
<stepharo.s...@gmail.com> wrote:
> I thought about something like that...
>
> SequenceableCollection >> atMax: numberOfItems do: aBlock
>     "Execute the iteration with at the maximum numberOfItems. If the
> receiver contains less than numberOfItems iterate them all."
>     1 to: (numberOfItems min: self size) do: [:index | aBlock value:
> (self at: index)]
>
> This is an abstraction that we need to treat some samples.
>
> Stef
>
> On Sun, Jan 21, 2018 at 5:47 PM, Stephane Ducasse
> <stepharo.s...@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 | ]
>>
>> 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.clem...@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 <b...@openinworld.com> wrote:
>>>>
>>>> On 21 January 2018 at 18:36, Stephane Ducasse <stepharo.s...@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

Reply via email to