Я хотел бы знать, есть ли способ создать класс перечисления из набора (например, набор строк).Scala: Создать объект перечисления из набора
Ниже приведен простая попытка:
val s = Set("v1", "v2", "v3")
object sEnum extends Enumeration {
for (v <- s) {
val v = Value
}
}
for (v <- sEnum.values) {
println(v)
}
Объект перечисления кажется компилировать, но это значение шаткое: цикл печати показывает, что значения внутри sEnum выглядеть следующим образом:
< Недопустимое перечисление: нет поля для # 0>
Таким образом, проблема заключается в объявлении значения
val v = Value
Есть ли способ заменить переменную v на ее содержимое во время выполнения (используя отражение, которое я предполагаю)?