1
很久以前的工作,我比這個代碼獲悉:如何使用發件人ActorRef在阿卡
def doSome(ref: ActorRef, msg: AnyRef): Unit = {
... some routine ...
ref ! msg
}
def receive = {
case x: Foo => doSome(sender(), x)
}
必須
...
def receive = {
case x: Foo =>
val s = sender()
doSome(s, x)
}
因爲發送者()是一個功能和之前適用有人會更改一個context.sender()值
問題1:是否有真正的非未來功能?或者像第一個變體一樣書寫是否安全?
問題2:有沒有什麼方法可以這樣寫?
def receive = {
case x: Foo => sendrer() {s => doSome(s, x)}
}
你說的意思是「有沒有道理對非未來函數嗎?」你的演員裏面有一個能夠返回未來的功能嗎? – britter