鉴于下面的 Scala 代码:
演员1
 actor2 ! 'some_message
演员2
 receive (or react)
  {
    case 'some_message
         sender ! 'ok_message
actor2 可以获得关于发送者(actor1)的哪些信息?
如果多个参与者可以向 actor2 发送相同的消息,它如何判断消息来自哪个参与者?发件人中是否有可以查询的元数据?
我是 Scala 的新手。谢谢你的耐心。
...肯·R
鉴于下面的 Scala 代码:
演员1
 actor2 ! 'some_message
演员2
 receive (or react)
  {
    case 'some_message
         sender ! 'ok_message
actor2 可以获得关于发送者(actor1)的哪些信息?
如果多个参与者可以向 actor2 发送相同的消息,它如何判断消息来自哪个参与者?发件人中是否有可以查询的元数据?
我是 Scala 的新手。谢谢你的耐心。
...肯·R
您实际上可以将发送原始消息的参与者作为消息的一部分发送。
演员1
actor2 ! ("message", self)
演员2
receive (or react) {
    case (string: String, sender: Actor) => {
        sender ! "another message"
    }
}
但是,应该注意的是,您应该只使用它来向原始发件人发送消息。直接在actor上调用函数可能会导致各种可怕的事情发生!
实际上,我今天刚刚在 Programming in Scala 中读到了这一点,所以如果你想了解更多关于它的信息,我强烈推荐这本书。