Einfache Frage wegen fehlender zu kompilieren, ich habe ein Problem, wo mapTo auf das Ergebnis unter Verwendung der Ergebnisse stellen in einem Compiler-Fehler entlang der Linien von:Scala Zukunft mapTo nicht ClassTag
not found: value ClassTag
Zum Beispiel:
(job ? "Run").mapTo[Result]
^
Ich verstehe nicht, warum es einen ClassTag braucht, um die Besetzung zu tun? Wenn ich eine Standardklasse von Predef wie String
wie in (job ? "Run").mapTo[String]
ersetze, kompiliert OK. Diese
passiert, wenn ich die Klasse direkt über der Linie in Frage definieren, wie in:
class Result {}
(job ? "Run").mapTo[Result]
ich immer noch das gleiche Problem.
Danke, Jason.
Ich sollte auch sagen, dass ich Scala 2.10.0 und Akka 2.1.0 verwende (wenn das einen Unterschied macht).
Ihr Code sieht soweit OK aus - also könnten Sie die importierten Importe posten? Vielleicht fehlt ein Import. –
Ich habe gerade einen [Kommentar] (http://grokbase.com/p/gg/scala-language/126k8nt1fx/incompatibility-between-scala-2-10-m3-and-m4) über Inkompatibilitäten in den verschiedenen Meilensteinen von gefunden Scala 2.10.0. Es schlägt vor, "reflect.ClassTag" zu importieren. Versuchen Sie es mit Scala 2.10.1 und Akka 2.1.1, wenn das Problem erst kürzlich behoben wurde. –
@michael_s, genius, danke dafür, das Hinzufügen von 'import reflect.ClassTag' hat es geschafft! Ich habe noch nicht versucht, Scala-Versionen zu aktualisieren, aber ich scheue es, Paketabhängigkeiten zu diesem Zeitpunkt im Entwicklungszyklus zu ändern. Wenn du deinen Kommentar als Antwort posten willst, kann ich ihn korrekt markieren und dir einen Status geben. – JMac