假设我有一张地图:
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
我的函数添加一个隐式参数,但它不起作用。