Scala는 케이스 클래스에 대한 누락된 인수를 어떻게 "채우나요"?
-
21-08-2019 - |
문제
내가 전화할 때:
actor_ ! Exit
이것이 어떻게 다음과 같은 구성으로 변환됩니까?
case class Exit(from: AbstractActor, reason: AnyRef)
특히, 원격(클라이언트) 행위자로부터 이것을 호출할 때 어떻게 되나요? link
서버가 인스턴스를 수신하는 원격(서버) 행위자에게 전달됩니다. Exit
어디에 from
속성은 행위자입니다.
'remotesender0@Node(10.10.7.90,8366)
기본적으로 저는 이 원격 클라이언트 행위자 개체를 어떻게 처리할 수 있는지 알고 싶습니다!
해결책
당신이 보내는 것은 싱글 톤 객체입니다 Exit
.Scala API에서는 클래스를 지나 아래로 스크롤하여 객체를 찾아보세요.
object Exit
extends (AbstractActor, AnyRef) => Exit
이제 귀하의 코드를 본 적이 없으므로 귀하가 어떻게 사용하고 있는지 모르겠습니다.그러나 이 개체 Exit는 두 개의 매개 변수를 사용하고 두 매개 변수로 구성된 Exit 케이스 클래스를 반환하는 함수(실제로는 확장)입니다.또한 Case 클래스 문에 의해 몇 가지 내용이 포함됩니다.
즉, Exit.apply(x,y)(적용되는 Exit 함수)는 Exit(x,y)(Exit 클래스의 생성자)와 동일한 결과를 갖습니다.하지만 클래스를 전달할 수는 없지만 객체를 전달할 수는 있습니다.
제휴하지 않습니다 StackOverflow