domanda semplice, ho un problema in cui utilizzando mapTo sul risultato di chiedere risultati in un errore di compilazione lungo le linee di:Scala Future mapTo non riesce a compilare a causa della mancanza ClassTag
not found: value ClassTag
Ad esempio:
(job ? "Run").mapTo[Result]
^
Non capisco perché sia necessario un ClassTag per eseguire il cast? Se sostituisco una classe standard da Predef come String
come in (job ? "Run").mapTo[String]
che compila OK.
Questo accade quando definisco il diritto di classe sopra la linea in questione, come in:
class Result {}
(job ? "Run").mapTo[Result]
ho ancora lo stesso problema.
Grazie, Jason.
Devo anche dire che sto usando Scala 2.10.0 e Akka 2.1.0 (se questo fa la differenza).
Il tuo codice sembra OK finora - quindi potresti pubblicare le importazioni che hai usato? Forse manca un'importazione. –
Ho appena trovato un [commento] (http://grokbase.com/p/gg/scala-language/126k8nt1fx/incompatibility-between-scala-2-10-m3-and-m4) sulle incompatibilità nelle diverse Milestone di Scala 2.10.0. Suggerisce di importare reflect.ClassTag'. Prova ad usare Scala 2.10.1 e Akka 2.1.1 se questo è un problema che è stato risolto solo di recente. –
@michael_s, genio, grazie per questo, aggiungendo "import reflect.ClassTag' ha fatto il trucco! Non ho ancora provato ad aggiornare le versioni di Scala, il bit haath per cambiare le dipendenze dei pacchetti a questo punto del ciclo di sviluppo. Se vuoi pubblicare il tuo commento come risposta, posso contrassegnarlo correttamente e dargli uno stato. – JMac