2016-01-07 15 views
7

Ich bin neu mit Pharo und ich versuche, über eine OrderedCollection zu iterieren, aber ab dem Ende.Iterate eine Sammlung rückwärts in Pharo Smalltalk

Zum Beispiel:

| c | 
c := OrderedCollection new. 
c add: (1). 
c add: (2). 
c add: (3). 
c do: [ :each | Transcript show: each ; cr ] 

Das Ergebnis ist 1 2 3 aber ich will 3 2 1.

Ist es möglich oder muss ich eine andere Art von Sammlung verwenden?

+1

Versuchen Sie 'c reverseDo: [etc]'. Viel Glück. –

+0

Danke, es hat funktioniert! –

+0

Sie können auch 'Transcript logCr: each' und innerhalb einer Methode' self logCr: each' verwenden –

Antwort

13

Um eine OrderedCollection in umgekehrter Reihenfolge zu durchlaufen, können Sie das reverseDo:-Verfahren, z.

c reverseDo: [ :each | Transcript show: each; cr ]. 

Viel Glück.