2013-12-16 54 views
2

我在阿卡以下演员模型声明从ActorRef获得数据:在阿卡

val wireA = system.actorOf(Props(new Wire(false)), "Input") 
val wireB = system.actorOf(Props(new Wire(false)), "Output") 
inverter ! generateOutput(wireA, wireB) 

generateOutput(input:ActorRef, output:ActorRef), 我需要访问boolean参数,其构造,每个特定ActorRef(即paramater false这是每个相应Wire构造发现。

它如何能达到?

回答

2

您可以发送一个烂摊子年龄每一个演员,询问其当前状态:

case object Status 
case object StatusResult(value: Boolean) 

class MyActor(wire: ActorRef) extends Actor { 

    wire ! Status 

    def receive = { 
    case StatusResult(value) => ... 
    } 

wireAwireBActorRef S,他们不暴露自己的状态,并与他们沟通的唯一途径是通过消息。

+0

请问您可以详细解释一下吗? 当我打电话输入!来自'generateOutput()'的状态如何利用该消息('Boolean'值)将其传递给另一个演员?谢谢 – Bran