ich konvertieren haben den Anwendungsfall folgende, die oft in meinem Code auftritt:Wie eine Liste [A] in einer Liste [B] mit einer impliziten Umwandlung
- A Collection [A]
- eine implizite Umwandlung von A bis B
und ich möchte eine Sammlung von B erhalten ich implizit wie die folgende verwenden:
case class Items(underlying:List[B])
import B._
def apply(a:List[A]):Items = {
val listOfB= a.map {implicitly[A=>B]}
Items(listOfB)
}
Was ist der eleganteste Weg, das in Scala zu tun, vielleicht mit der Hilfe von Scalaz, dasselbe zu tun?
Edit: das Ziel meiner Frage ist es, einen idiomatischen Weg, um einen gemeinsamen Ansatz unter Bibliotheken/Entwickler zu finden. In einem solchen Sinn ist die Entwicklung meiner eigenen pimp-my-Bibliothek-Lösung etwas, was ich nicht mag, weil andere Leute, die meinen Code schreiben, die Existenz dieser Konvertierung nicht kennen und sie nicht verwenden würden, und sie werden ihre eigenen umschreiben. Ich bevorzuge einen Bibliotheksansatz für diese allgemeinen Funktionen und deshalb frage ich mich, ob in Scalaz eine solche Funktion existiert.
Gehört es irgendwie zu einigen Standardbibliotheken? Ich hasse es, das Rad neu zu erfinden – Edmondo1984
@ Edmondo1984: Ich weiß es nicht, ich habe es gerade erst geschrieben, aber ich erfinde Rad vielleicht auch neu. BTW las meine Antwort noch einmal, ich generierte die Lösung, so dass Sie nur eine implizite ConvList-Konvertierung für alle konvertierbaren Typen benötigen. –