
On 2021-10-02 08:59, Abdulla Al Kathiri wrote:
Let’s say I want to write a lambda function with no arguments that’s connected to a button in GUI coding, will blabla.connect(()=>print(“clicked”)) be used or will blabla.connect(=>print(“clicked”)) be used?
In the case of C#, the parentheses are optional if there's only one parameter, so: () => ... (x) => ... or x => ... (x, y) => ... (x, y, z) => ... etc.
On 30 Sep 2021, at 7:53 PM, MRAB <python@mrabarnett.plus.com> wrote:
On 2021-09-30 07:21, Chris Angelico wrote:
On Thu, Sep 30, 2021 at 4:19 PM Steven D'Aprano <steve@pearwood.info> wrote:
On Wed, Sep 29, 2021 at 02:09:03PM -0700, Guido van Rossum wrote: Over in typing-sig we're considering a new syntax for callable *types*, which would look like (int, int, str) -> float. A matching syntax for lambda would use a different arrow, e.g. (x, y, z) => x+y+z.
I like arrow operators :-)
But I fear that it will be too easy to misread `=>` as greater than or equal to, especially when skimming code.
Assuming that they need to be different arrows, how do you feel about `->` for types and annotations, and `-->` for lambdas? Or `->>`?
JavaScript uses => for functions, and the confusion with ">=" doesn't seem to be a major problem with it. C# also uses "=>".