Переопределение перечислимой величины Scala

Насколько я могу сказать, у Scala есть определения для класса Перечислимой величины для Значения (Интервал), Значение (Строка) и Значение (Интервал, Строка).

Кто-либо знает примера для создания нового подкласса Значения поддерживать другого конструктора?

Например, Если бы я хочу создать Перечисление со Значением (Интервал, Строка, Строка) объекты, как я сделал бы это? Я хотел бы все другие преимущества использования класса Перечисления.

Спасибо.

31
задан Ralph 24 March 2010 в 11:41
поделиться

1 ответ

Значения перечисления являются экземпляром класса Val. Этот класс можно расширить и добавить фабричный метод.

object My extends Enumeration {
    val A = Value("name", "x")
    val B = Value("other", "y")
    class MyVal(name: String, val x : String) extends Val(nextId, name)
    protected final def Value(name: String, x : String): MyVal = new MyVal(name, x)
}

scala> My.B.id
res0: Int = 1

scala> My.B.x
res1: String = y
44
ответ дан 27 November 2019 в 22:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: