What the hell is wrong with D?
jmh530
john.michael.hall at gmail.com
Tue Sep 19 19:46:10 UTC 2017
On Tuesday, 19 September 2017 at 19:16:05 UTC, EntangledQuanta
wrote:
>
> ()?: is not ambiguous!
>
> The D community preaches all this safety shit but when it comes
> down to it they don't seem to really care(look at the other
> responses like like "Hey, C does it" or "Hey, look up the
> operator precedence"... as if those responses are meaningful).
>
I sympathize that it was a difficult to find problem. Happens to
me a lot. Nevertheless, I pretty much never use ternary operators
because Matlab was my first language was it doesn't have them.
I'm always writing out if() { } else { }. So it's not really an
error that happens for me.
The point that others and myself were making about C is that your
initial post was very critical of D and Walter. Unduly, IMO. You
were blaming D for the problem, when it turns out that in
virtually every language that uses this syntax it works this way
(and I checked like 10, just to be sure). Harshly criticizing
Walter for something that is a generally accepted way of doing
things across many programming languages is unreasonable. D never
promised to be the greatest language ever whose users never ever
write any buggy code at all. It's aims are a bit more limited
than that.
There's an easy solution to your problem: use more parentheses
with conditional ternary operators.
More information about the Digitalmars-d-learn
mailing list