2013-12-16 52 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