[Newbies] collection enumeration

stéphane ducasse ducasse at iam.unibe.ch
Wed Aug 23 20:20:07 UTC 2006


but is a not the fastest one?
because you nearly only call primitives?

I did not check.
Cedric did you benchmark a and c.
even if large dictionaries degenerate in Squeak.

>> (a) ---- à la C
>>
>> (1 to: collection size) do: [:index |
>> 						html render: 'Victime ', index printString.
>>                                                html render:
>> collection at: index]
>>
>> (b) --- indexOf
>>
>> collection do: [:victim |
>> 						html render: 'Victime ', (collection indexOf: victim)  
>> printString.
>>                                                html render: victim]
>>
>> (c) ---- keysAndValuesDo:
>>
>> collection keysAndValuesDo: [:index :victim |
>> 						html render: index printString.
>>                                                html render: member]
>>
>> (d) ---- using a local var
>>
>> | index |
>> index := 0.
>> collection do: [:victim | index := index + 1.
>> 						html render: 'Victime ', index printString.
>>                                                html render: victim]
>>
>> What solution would you suggest ?
>> I think we forget (a) and (d)
>> I like (c) but maybe (b) is more readable ?
>>
>> Maybe there is another way ?
>
> (c), though I like #withIndexDo: better since it mimics the  
> #with:do: pattern.
>
> - Bert -
>
> _______________________________________________
> Beginners mailing list
> Beginners at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>



More information about the Beginners mailing list