On Thu, Jul 19, 2018 at 8:47 AM Rhodri James <rho...@kynesim.co.uk> wrote:

> On 19/07/18 09:33, Antoine Pitrou wrote:
> > There is a use case I sympathize with: the argument-is-None case.  For
> > that I would suggest a simpler form:  "A else B" which would evaluate
> > to A if A is not None, otherwise to B (parentheses may be mandatory).
> >
> > So e.g. one of the examples would read:
> >
> >       def insort_right(a, x, lo=0, hi=None):
> >           # ...
> >           hi = hi else len(a)
> >           # ...
>
> Much as I would like a keyword, "else" is the wrong one.  It implies we
> are dealing with truthiness, which we aren't, and lays a subtle semantic
> trap as a consequence.
>
> If anyone can think of a good word for "if it isn't None, otherwise",
> I'd be all for it :-)
>
> --
> Rhodri James *-* Kynesim Ltd
> _______________________________________________
> Python-ideas mailing list
> Python-ideas@python.org
> https://mail.python.org/mailman/listinfo/python-ideas
> Code of Conduct: http://python.org/psf/codeofconduct/
>

I think that it may look better with the order switched and the word
unless, as in

    def insort_right(a, x, lo=0 hi=None):
        # ...
        hi = len(a) unless hi
        # ...

Unfortunately, this does maybe feel more like checking for truthiness than
non-Null value
_______________________________________________
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