Ich versuche, eine Funktion zu schreiben, die eine Sequenz S mit einer Funktion F abbildet (die ich F(S) nenne), die die resultierenden Werte (F(S)) mit S zippt und das Ergebnis nach F(S) sortiert, um die sortierten gezippten Werte zurückzugeben (Ich hoffe, der Code klärt das auf, es ist schwer in Textform zu erklären)
Hier ist mein aktueller Code:
def sortByAndReturnZippedMetric[S,M<:Ordering[AnyVal]]( s:Seq[S], mapper:S=>M):Seq[(M,S)] =
s.map(mapper).zip(s).sortBy(_._1)
Scalac beschwert sich jedoch:
Fehler: abweichende implizite Erweiterung für Typ scala.math.Ordering[M]
beginnend mit der Methode comparatorToOrdering im Trait LowPriorityOrderingImplicits
s.map(mapper).zip(s).sortBy(_._1)
^
Ich würde mich über Hinweise dazu freuen, was möglicherweise falsch sein könnte...