Liftは、Comet Actorsの実装にPartialFunctionを使用しており、通常、クラスでは次のようになります。
override def lowPriority: PartialFunction[Any,Unit] = {
case MyCaseClass1(a) => do something here
case MyCaseClass2(a) => do something here
case AlwaysPresentCaseClass => default action
}
私がやりたいことは、最後のケースを特性に移すことができるように、その部分関数を分割することさえ可能かどうかはわかりません。
したがって、新しいコメット俳優がいるときは、次のようにします。
class MyNewComet extends MyActorTrait {
override def lowPriority: PartialFunction[Any,Unit] = {
case MyCaseClass1(a) => do something here
case MyCaseClass2(a) => do something here
}
}
そしてどういうわけか、特性MyActorTraitには欠落があります
case AlwaysPresentCaseClass => default action