Steven Bethard wrote:
Simo Melenius wrote:
map (def x: if foo (x): return baz_1 (x) elif bar (x): return baz_2 (x) else: global hab hab.append (x) return baz_3 (hab), [1,2,3,4,5,6])
I think this would probably have to be written as:
Right the comma plus other things make this difficult for a parser to handle correctly. Other people have already come up with working solutions.
We have a special way to pass a multiline closure as a parameter to a function. Put it outside the parameter list.
First, the single-line way using curly braces:
newlist = map({x as int | return x*x*x}, [1,2,3,4,5,6])
Then the multi-line way. I had to add an overload of map to support reversing the order of parameters (list first, then the closure):
newlist = map([1,2,3,4,5,6]) def (x as int): return x*x*x
for item in newlist: print item
-- http://mail.python.org/mailman/listinfo/python-list