Одна вещь, которая приходит на ум, состоит в том, чтобы сделать что-то вроде этого:
trait ClockActor {
def pf:PartialFunction[String, Boolean] = {
case "a" => true
case v if(_pf.isDefinedAt(v)) => _pf.apply(v)
}
def _pf:PartialFunction[String, Boolean] = Map.empty
}
object MasterClock extends ClockActor {
override def _pf:PartialFunction[String, Boolean] = {
case "b" => false
}
println(pf("a"))
println(pf("b"))
}
который произведет:
scala> MasterClock
true
false
Стоимость , верный
, поступает из определения в частичной функции Черты , ClockActor
, , ложный
, происходит из Объекта MasterClock
.