I’ve found myself stuck on a very trivial thing :-]
I’ve got an enum:
object Eny extends Enumeration {
type Eny = Value
val FOO, BAR, WOOZLE, DOOZLE = Value
}
In a code I have to convert it conditionally to a number (varianr-number correspondence differs on context). I write:
val en = BAR
val num = en match {
case FOO => 4
case BAR => 5
case WOOZLE => 6
case DOOZLE => 7
}
And this gives me an “unreachable code” compiler error for every branch but whatever is the first (“case FOO => 4” in this case). What am I doing wrong?
I suspect the code you are actually using is not
FOO, butfoo, lowercase, which will cause Scala to just assign the value tofoo, instead of comparing the value to it.In other words: