18 lines
424 B
Smalltalk
18 lines
424 B
Smalltalk
flatDo :=
|
|
[:element :action |
|
|
element isCollection ifTrue:[
|
|
element do:[:el | flatDo value:el value:action]
|
|
] ifFalse:[
|
|
action value:element
|
|
].
|
|
].
|
|
|
|
collection := {
|
|
{1} . 2 . { {3 . 4} . 5 } .
|
|
{{{}}} . {{{6}}} . 7 . 8 . {}
|
|
}.
|
|
|
|
newColl := OrderedCollection new.
|
|
flatDo
|
|
value:collection
|
|
value:[:el | newColl add: el]
|