ich eine Methode, wie diese zu schreiben versuchen:Scala: Mit TypeTag in einem Verfahren
def foo[T:TypeTag](value: Int):String = {
(/* do something */).mapTo[T].map(_.toJson)
}
wo mapTo
die Signatur hat:
def mapTo[S](implicit tag: ClassTag[S]): Future[S] = { ... }
org.scala-lang.scala-reflect
mit der Lage sein, etwas zu tun:
foo[String](1)
, foo[List[Double]](10)
und so weiter.
Ich habe versucht, es auf verschiedene Arten zu schreiben, aber ich habe verschiedene Kompilierfehler. Gibt es eine Möglichkeit, so etwas zu machen?
Error:(26, 45) Cannot find JsonWriter or JsonFormat type class for T
(/* do something */).mapTo[T].map(_.toJson)
^
Error:(26, 45) not enough arguments for method toJson: (implicit writer: spray.json.JsonWriter[T])spray.json.JsValue.
Unspecified value parameter writer.
(/* do something */).mapTo[T].map(_.toJson)
^
Dieser Link How to get ClassTag form TypeTag, or both at same time? nicht klar, was ich danach bin. Es sieht so aus, als würde man versuchen, einige Informationen über eine Klasse zu "filtern".
Mögliches Duplikat von [Wie bekomme ich das ClassTag-Formular TypeTag oder beides gleichzeitig?] (Http://stackoverflow.com/questions/18729321/how-to-get-classtag-form-typetag-or-both- zur selben Zeit) – Kolmar
Ich kann keine Antwort von dem bekommen, was Sie vorgeschlagen haben. – Randomize