мне нужно возвращать значения, и когда кто-то просит значение, сказать им, одна из трех вещей:Scala: Что-то вроде Option (Некоторые из них, None), но с тремя состояниями: Some, None, Неизвестных
- Здесь значение
- Там нет значения
- у нас нет никакой информации по этому значению (неизвестной)
корпус 2 тонко отличается от случая 3. Пример:
val radio = car.radioType
- мы знаем значение: возвращает тип радио, скажем, «пионер»
- б. нет значения: return None
- c. нам не хватает данных об этом автомобиле, мы не знаем, есть ли у него радио или нет
Я думал, что могу расширить Scala's None и создать Неизвестный, но это не представляется возможным.
Предложения?
спасибо!
Update:
В идеале я хотел бы иметь возможность писать код так:
car.radioType match {
case Unknown =>
case None =>
case Some(radioType : RadioType) =>
}
Спасибо, это очень помогло. Я закончил реализацию чего-то подобного, с None и Some as sub-state of Known, через Option: http://code.alexblack.ca/an-option-class-in-scala-with-three-states-un –