On Mar 13, 2007, at 22:51 , Stefan Schmiedl wrote:

Wie mach ich das mit Iteratoren so elegant wie mit einer Schleife?

firstIndex to: lastIndex do: [:index |
 (catalog at: index) showOn: aStream ]

Jetzt du!


Workspace öffnen:

'dies ist ein Beispiel' select: [:each |  each isVowel ]. <ALT-P>

nicht mogeln. Wie kriege ich mit einem Iterator die Einträge aus der
Liste?

<klugscheiß>

        catalog atAll: (firstIndex to: lastIndex)

</klugscheiß>

Das Tolle an der Smalltalk-"For-Schleife" ist, dass sie nur ein Iterator über Zahlenintervalle ist. So wie man über normale Sammlungen iteriert (mit #do:, #collect:, #select: etc.) kann man das auch mit Intervallen machen:

        (1 to: 5) do: [:i | ...]
        (1 to: 5) collect: [:i | ...]
        (1 to: 5) select: [:i | ...]

- Bert -


Antwort per Email an