4 ms·
I think one problem with statements-as-expression is that is not always evident which should be their result. for instance: bool r = if (test()) { f
by _lce0 12y ago
I think one problem with statements-as-expression is that is not always evident which should be their result.
for instance:
bool r = if (test()) {
false;
} else {
true;
}
what r should be set to? true or false?
I don't see the point of adding such complexity.. it's waaay more clear to be explicit
bool r = test();
if (r) {
false;
} else {
true;
}
or, if you intended the other way
bool r;
if (test()) {
r = false;
} else {
r = true;
}
I guess that's why you need to be strictly correct, or highly opinionated, to design a language.
- JoeAltmaier 12y agoI'm missing your point I guess. All those are equivalent? In C an assignment has the value of the RHS, so that doesn't change anything in these examples.
- molo 12y agoThat is unnecessary verbosity. Try this instead: bool r = !test();