マップがあるとします:
val m = Map("foo" -> 10, "bar" -> 5)
これを次の形式の文字列に変換したい (キーと値は「:」で区切られ、異なる要素は「,」で区切られている):
"bar:5,foo:10"
キーが順序付けされていることに注意してください。
この変換を一般的に実行する関数を作成するにはどうすればよいですか? 私は試した
def f[A, B](m: Map[A, B]): String = {
m.toList.sortBy(_._1).map { x => x._1 + ":" + x._2 }.mkString(",")
}
しかし、これは機能しません。どういうわけか、A
注文可能であることを指定する必要があるからです。これを行う方法がわかりません-関数に暗黙的Orderer
なパラメーターを追加しようとしましたが、機能しませんでした。