The underscore is already a viable identifier:
_ = lambda x:x*2 _(3) 6
and
x = lambda _:_*2 x(3) 6
So I don't think you can use it the way you're proposing without breaking existing programs On Fri, Aug 7, 2009 at 8:46 AM, ilya <ilya.nikokoshev@gmail.com> wrote:
I was thinking about a good syntax for implicit lambdas for a while and today I had this idea: make ``_:`` a shortcut for ``lambda _=None:``
For example:
map( _: _ + 5, some_list) register_callback( _: True) def apply_transform(..., transform = _:_, ... ):
but still
addition = lamba x, y: x + y
The rationale is that you only want to get rid of lambda keyword to create a *very* simple function, the one that will be called either without parameters or with only one parameter. For everything more complicated, you really should go and write the explicit function signature using lambda.
Even though ``:`` could theoretically denote implicit lambda, it's too easy to miss it. The combination ``_:`` is much easier to notice. It also makes explicit that there is at most one parameter and it's name is ``_``. Since it's very short, it can easily be used in a long function call or as a default parameter, as above
Your thoughts? _______________________________________________ Python-ideas mailing list Python-ideas@python.org http://mail.python.org/mailman/listinfo/python-ideas
-- Gerald Britton