On 06May2018 02:00, Nick Coghlan <ncogh...@gmail.com> wrote:
On 5 May 2018 at 13:36, Tim Peters <tim.pet...@gmail.com> wrote:
If only one trailing "given" clause can be given per `if` test
expression, presumably I couldn't do that without trickery.

I was actually thinking that if we did want to allow multiple assignments,
and we limited targets to single names, we could just use a comma as a
separator:

   if diff and g > 1 given diff = x - x_base, g = gcd(diff, n):
       return g

Similar to import statements, optional parentheses could be included in the
grammar, allowing the name bindings to be split across multiple lines:

   if diff and g > 1 given (
       diff = x - x_base,
       g = gcd(diff, n),
   ):
       return g

I'm well behind, but... this! This turns "given" into a +0.8 for me.

That's really nice. It reads clearly too.

I was hitherto in the "expression as name" camp, which I gather is already rejected.

Cheers,
Cameron Simpson <c...@cskk.id.au>
_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to