2016-01-07 23 views
7

Tôi mới sử dụng Pharo và tôi đang cố gắng lặp lại một số OrderedCollection nhưng bắt đầu từ cuối.Lặp lại một bộ sưu tập về phía sau trong Pharo Smalltalk

Ví dụ:

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

Kết quả là 1 2 3 nhưng tôi muốn 3 2 1.

Có thể hoặc tôi có phải sử dụng một loại bộ sưu tập khác không?

+1

Thử 'c reverseDo: [etc]'. May mắn nhất. –

+0

Cảm ơn nó đã làm việc! –

+0

Bạn cũng có thể sử dụng 'Transcript logCr: each', và khi bên trong một phương thức' self logCr: each' –

Trả lời

13

Để lặp lại một OrderedCollection theo thứ tự ngược lại, bạn có thể sử dụng phương pháp reverseDo:, ví dụ:

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

Chúc bạn may mắn.

Các vấn đề liên quan