Quando chiamo:In che modo Scala "inserisce" gli argomenti mancanti in una classe di casi?
actor_ ! Exit
Come è questo viene convertito in una costruzione di:
case class Exit(from: AbstractActor, reason: AnyRef)
In particolare, come è possibile che quando chiamo questo da un (client) attore a distanza che ha stati link
ed a un attore (server) remoto, che il server riceve un'istanza Exit
cui la proprietà from
è un attore:
'[email protected](10.10.7.90,8366)
Fondamentalmente mi piacerebbe capire come posso ottenere un handle su questo oggetto client-client remoto!
Ah; IDEA mi sta indicando la classe sbagliata. La domanda è ancora valida; da dove provengono AbstractActor e msg? E come finisce come un'istanza della classe case Exit? –
Il mio codice è fondamentalmente "actor_! Exit". Non sto passando nessuna variabile a niente. Eppure l'attore_ finisce per ricevere la casistica Exit (da, msg) con alcuni valori belli e precisi. E in che modo l'oggetto Exit estende la funzione binaria quando non dichiara un metodo apply()? –
Ah, ma Exit dichiara un metodo apply()! Il suo tipo è "(AbstractActor, AnyRef) => Exit", che è la stessa cosa di "Function2 [AbstractActor, AnyRef, Exit]". Poiché Function2 dichiara un'applicazione, quindi deve uscire. –