シーケンスSを関数F(F(S)と呼びます)でマップし、結果の値(F(S))をSで圧縮し、結果をF(S)で並べ替える関数を作成しようとしています。 )、ソートされたzip値を返します(コードがこれをクリアすることを願っています、テキストに入れるのは難しいです)
これが私の現在のコードです:
def sortByAndReturnZippedMetric[S,M<:Ordering[AnyVal]]( s:Seq[S], mapper:S=>M):Seq[(M,S)] =
s.map(mapper).zip(s).sortBy(_._1)
しかし、Scalacは不平を言っています:
error: diverging implicit expansion for type scala.math.Ordering[M]
starting with method comparatorToOrdering in trait LowPriorityOrderingImplicits
s.map(mapper).zip(s).sortBy(_._1)
^
何が間違っているのかについて、いくつかの指針をいただければ幸いです...