[Newbies] collection enumeration

cdrick cdrick65 at gmail.com
Wed Aug 23 19:15:23 UTC 2006


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 ?

Thanks

Cédrick


More information about the Beginners mailing list