0
액터 내에서 다른 액터에게 메시지를 보내는 클래스를 만들어야합니다. 다른 배우 배우에 회신해야다른 클래스에서 보낼 때 올바른 스칼라 액터 발신자 참조 얻기
class A extends Actor {
val b = new B
b.start
val i = new DefaultHandler() {
override def fun(a: String) = {
b ! payload
}
}
someotherclass.registerHandler(i)
def act = {
loop {
react {
case reply => //do something
}
class B extends Actor {
def act = {
loop {
react {
case msg => sender ! reply
}
}
문제는 이제 더 이상 그 결과 배우로 배우 자체 내에서 아니에요 내부 클래스에서 전송하는 동안 B는 배우에 대한 올바른 참조를하지 않는다는 것입니다 B.이 문제를 해결하는 한 가지 방법은 메시지를 통해 A에 대한 참조를 전달하는 것이지만 이것은 나에게 상당히 못 생깁니다. 이 문제를 해결하기 위해 더 우아한 방법은
val ref = self
val i = new DefaultClass() {
override def fun(a: String) = {
b ! message(payload, ref)
}
}
있습니까?