Я новичок в скале, но в основном нашел свой путь ...
Здесь я прошу рекомендовать / рекомендовать / идиоматический способ реализации этого:
- внутренне, MyClass использует тип state , который реализуется запечатанной иерархией классов дел
- но в API должен быть представлен только некоторый логический предикат, который реализуется путем сопоставления с (внутренним) состоянием.
В настоящее время моя реализация соответствует принципам ...
def isSane: Boolean = state match {
case Ok(_,'valid) => true
case _ => false
}
Но это решение кажется мне неловким, как будто бы что-то выражается в трех строках кода, в которых содержится только информационное содержимое, стоящее одной строки кода. На самом деле я хотел бы написать:
def isSane: boolean = state matches Ok(_, 'valid)
Вероятно / вероятно, возможно реализовать подходящий оператор самостоятельно в Scala, но прежде чем я в этом разбираюсь, я хотел бы знать, каков был бы обычный способ решения этой проблемы. Может быть, есть еще какая-то существующая реализация библиотеки?