What is the Scala's way to write the following code:
int i; switch(i) { case 1: a(); break; case 2: case 15: b(); c(); break; default: foo() }
I.e. what is the idiomatic way of executing the same piece of code based on multiple case values?
i match { case 1 => a case 2 => case 15 => { b c } case _ => foo }
Doesn't quite seem do the trick, since Scala evaluates the match value based on the first matching case, i.e. if i=2 the code will return nothing.
Thanks for help!
According to this conversation there is no fallthrough, but you can make use of |
.
This should do the trick:
i match { case 1 => a case 2 | 15 => b c case _ => foo }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With