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:

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])

or:

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])

Note the placement of the comma.  As it is,
    return baz_3(hab),
returns the tuple containing the result of calling baz_3(hab):

py> def f(x):
...     return float(x),
...
py> f(1)
(1.0,)

It's not horrible to have to put the comma on the next line, but it isn't as pretty as your version that doesn't. Unfortunately, I don't think anyone's gonna want to revise the return statement syntax just to introduce anonymous functions.

Steve
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to