akka键入了具有多态类型和类型类约束的actor

时间:2017-05-01 22:46:53

标签: scala akka typedactor

akka typed actors可以处理多态类型吗?

例如,我可以创建一个执行以下类型安全操作的actor:

trait TypedActorInterface{
      def head[T](l:List[T]):T
}

或创建多态Typed Actor:

trait TypedActorInterfacePolymorphic[T]{
      def getT:T
}

或具有类型类约束:

trait TypedActorWithTypeClass{
   def show[T:Showable]:String
}

Typed Actors可以使用这些吗?

我的猜测是,至少类型类约束是不可能的,因为那时会涉及宏/反射和其他魔法(因为类型信息需要自动序列化/反序列化)。

也许其他两个是可能的,但不确定。

1 个答案:

答案 0 :(得分:0)

正如您在示例中所看到的,您不需要为键入的actor创建另一个特征。键入的actor只是一个代理。演员之外的代码对服务背后的演员一无所知。

如果编译器有足够的信息,我没有看到代理多态特征的任何问题。请提供您的尝试,让我们看看出了什么问题。