I think you could experiment with this using a closure, since return statements
have this expression property already:
final foo = ({ ->
if(...) { ... }
else if(...) { ... }
else if(...) { ... }
else { ... }
}())
From: mg [mailto:[email protected]]
Sent: Wednesday, March 21, 2018 4:03 PM
To: [email protected]
Subject: Re: [RFE] Methods as expressions
Having control flow statements as expressions in Groovy would feel pretty
natural to me. I had always assumed there were reasons why this was not
supported, so I did not bring it up...
I currently use the simulated eval language extension I proposed for that, i.e.
final foo = eval {
if(...) { ... }
else if(...) { ... }
else if(...) { ... }
else { ... }
}
in cases where using "?" would be too complex.
That uses a closure, of course, so not optimal for all applications.
Question: Does a return-statement inside the if-expression leave the
expression, or the enclosing method in Rust ?