Can you make it possible to introduce affectations in if-clauses’ conditions, in such a way that if the condition is filled (for instance), its result is affected to the “condition-variable”, so that variable could be used later on inside the if block ?
This screenshot shows what’s actually done :
Here’s my proposition :
if (val s = test_condition) {
//something I’m gonna do with s
}
Another example is when (for instance) I wanna know if the result of the multiplication of 2 numbers is odd, then I do an action A with that result. Instead of creating a variable outside the if block and then using it later on, what if we affect the result to the variable at the if-condition level ?
The problem with this approach is that you probably need another value inside if than you used as a condition. if (val s = test_condition) doesn’t make too much sense, because you know that s is always true. And if we have to declare the value and the condition separately, so something like:
return if (val token = ArakaTokenStream.readToken(); !token.isNullOrBlank())
Then it is basically the same as your original code, only less readable.
One thing you can do is to use scope functions, for example: