
On 28/07/18 21:07, Abe Dillon wrote: [>> = Me]
We could argue about how intuitive or not these operators are, but they are used in other languages, so they clearly aren't completely unintuitive.
Other languages are other languages. Other languages use the "<condition> ? <expr_a> : <expr_b>" form of the the ternary operator. That doesn't mean we should adopt that into Python.
But it does and did mean that we should consider it when coming up with Python's version of the ternary operator. *It isn't unintuitive* and neither is ?? None-aware operators may be bad for other reasons, but that argument doesn't wash.
Really? Quick straw poll: how often do people care how in-place operators are implemented?
The point I was trying to make is that it doesn't behave or compose like other expressions.
(This was about ??=, for context.) Pardon? It composes exactly like any other in-place operator. [Abe previously wrote:]
val = person[0]? val = person.name?
Um. How is that supposed to parse? "person[0]" has already been evaluated by the time the "?" operator gets anywhere near it.
It parses by placing the '?' operator high in the order of operations; like I said. Do I really need to explain how order of operations works?
Apology elsewhere accepted, but yes, you do need to explain how merely being high precedence helps here. Let's start small; please explain programmatically what name? does as an expression. Once we have that down, we can move on to person.(name?) (parentheses for emphasis.) Short of actual magic, I can't see how this is going to work. -- Rhodri James *-* Kynesim Ltd