[Squeak-ev] Re: SqueakInf11-Schlager Anmerkungen

Bert Freudenberg bert at freudenbergs.de
Die Mar 13 22:12:48 UTC 2007


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 -