Wie ist Scala zu einer Fallklasse fehlen Argumente „bei der Besetzung von“?
-
21-08-2019 - |
Frage
Als ich nennen:
actor_ ! Exit
Wie wird dies in eine Konstruktion umgewandelt werden:
case class Exit(from: AbstractActor, reason: AnyRef)
Insbesondere, wie ist es, wenn ich nenne das von einem entfernten (Client) Schauspieler, die auf einem entfernten (Server) Schauspieler link
ed wurde, dass der Server eine Instanz von Exit
empfängt, wo die from
Eigenschaft ist ein Schauspieler:
'remotesender0@Node(10.10.7.90,8366)
Im Grunde würde Ich mag, um herauszufinden, wie ich einen Griff auf diesem Remote-Client-Schauspieler Objekt bekommen!
Lösung
Was Sie senden ist das Singleton-Objekt Exit
. In der Scala API, einfach nach unten scrollen, vorbei an den Klassen, und die Objekte suchen.
object Exit
extends (AbstractActor, AnyRef) => Exit
Nun, ich habe Ihren Code nicht gesehen, so dass ich weiß nicht, wie Sie es verwenden. Beachten Sie jedoch, daß diese Aufgabe Exit wird (tatsächlich erstreckt) eine Funktion, die zwei Parameter verwendet, und gibt eine Exit Fall Klasse von ihnen gebildet. Es wird auch ein paar Sachen in es durch den Fall class-Anweisung gesetzt haben.
Oder, mit anderen Worten, Exit.apply (x, y) (die Funktion Beenden angewandt werden) hat das gleiche Ergebnis wie Exit (x, y) (der Konstruktor für Klasse Exit). Aber während Sie können nicht eine Klasse übergeben, können Sie ein Objekt übergeben.