scala - akka 类 Receive 定义在哪里?

标签 scala akka

我对 Scala 还很陌生。

在一个 Actor 类中,我看到我的同事定义了这样的代码

导入akka.actor.Actor

class Processor extends Actor {

  def receive: Receive = {
    case msg: String => doProcess(msg)
    case _ => 
  }
}

这个 Receive 类在哪里定义的?它没有导入到此类中。系统如何找到Receive类

最佳答案

它是分别在 akka.actor.Actor 伴随对象和特征中定义的 PartialFunction[Any, Unit] 的类型别名。

摘自source code :

object Actor {
    // Type alias representing a Receive-expression for Akka Actors.
    type Receive = PartialFunction[Any, Unit]
    // ...
}

trait Actor {
    // to make type Receive known in subclasses without import
    type Receive = Actor.Receive
    // ...
}

关于scala - akka 类 Receive 定义在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25786501/

相关文章:

scala - 为什么 Actor.receive 是一个偏函数?

scala - 在Scala中,如何在满足条件后立即停止从文件中读取行?

java - Akka 设计原则

java - 如何将scala高级类型功能的混合类型与java泛型类型相匹配?

OSGi 上下文中的 Scala-cat 的 IOApp

scala - 如何从多个文件写入组装 Akka Streams 接收器?

scala - 如何显示所有类型的对象(Scala中)的?

scala - 转到相同状态后,FSM actor 未触发 onTransition

java - 如何将 Typesafe Akka 与 Node.js 结合使用

scala - 如何在链接部分函数时避免 `missing type` 错误