[squeak-dev] The Inbox: Collections-fbs.489.mcz

commits at source.squeak.org commits at source.squeak.org
Mon Aug 20 15:51:55 UTC 2012


Frank Shearar uploaded a new version of Collections to project The Inbox:
http://source.squeak.org/inbox/Collections-fbs.489.mcz

==================== Summary ====================

Name: Collections-fbs.489
Author: fbs
Time: 20 August 2012, 4:51:36.018 pm
UUID: d1834809-65b5-46c0-9b26-fea7ec04a946
Ancestors: Collections-ul.488

SequenceableCollection >> flatten turns a nested SequenceableCollection - a collection of collections of ... -  into a simple collection. Thus, #(1 (2 3) (4)) flatten = #(1 2 3 4).

=============== Diff against Collections-ul.488 ===============

Item was added:
+ ----- Method: SequenceableCollection>>flatten (in category 'copying') -----
+ flatten
+ 	| recur stream |
+ 	stream := WriteStream on: (Array new: self size). "A lower bound on the final stream count."
+ 	recur := [:coll | coll
+ 		do: [:each |
+ 			each isCollection
+ 				ifTrue: [recur value: each]
+ 				ifFalse: [stream nextPut: each]]].
+ 	recur value: self.
+ 	^ stream contents.!



More information about the Squeak-dev mailing list