[Newbies] collection enumeration
Bert Freudenberg
bert at impara.de
Wed Aug 23 19:23:07 UTC 2006
Am 23.08.2006 um 21:15 schrieb cdrick:
> Hi all -
>
> not an important question here, more a discussion. I was wondering
> which method is the more appropriate (nice and/or efficient) to
> enumerate all the elements of a collection and the index of each
> elements...
>
>
> (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 -
More information about the Beginners
mailing list