Сначала код:
object MyEnums {
sealed abstract class MyEnum(val value: String)
case object First extends MyEnum("Some_ugly_looking_value1")
case object Second extends MyEnum("Some_ugly_looking_value2")
case object Third extends MyEnum("Some_ugly_looking_value3")
case object Fourth extends MyEnum("Some_ugly_looking_value4")
def fromString(value: String): Option[MyEnum] =
value match {
case First.value => Option(First)
case Second.value => Option(Second)
case Third.value => Option(Third)
case Fourth.value => Option(Fourth)
case _ => None
}
}
Здесь я пытаюсь добиться того, чтобы иметь возможность анализировать строковое значение, поступающее извне, в форму перечисленного выше перечисления.В то же время я хотел бы получить исчерпывающее предупреждение компилятора сопоставления с образцом, если я не охватываю все параметры в выражении сопоставления.Какие варианты у меня есть здесь?Мне не нравится то, что я реализовал выше, так как, если это перечисление растет, я могу просто забыть реализовать новое предложение case ...