RosettaCodeData/Task/Flatten-a-list/E/flatten-a-list-1.e
Ingy döt Net db842d013d A-M baby
2013-04-10 21:29:02 -07:00

11 lines
270 B
Text

def flatten(nested) {
def flat := [].diverge()
def recur(x) {
switch (x) {
match list :List { for elem in list { recur(elem) } }
match other { flat.push(other) }
}
}
recur(nested)
return flat.snapshot()
}