如何为下面的代码(简化)编写隐式转换?我们了解您需要将(Int) => B
转换为(String) => B
。
List(1, 2, 3).map { s: String => "_" + s }
// expected: List("_1", "_2", "_3")
答案 0 :(得分:4)
我认为西蒙的回答效果最好。如果您仍想进行隐式转换,则应遵循以下规则。
implicit def convertFun[B](fun: String => B): (Int => B) = {
x: Int => fun(x.toString)
}
答案 1 :(得分:0)
其实你不需要,只是这样做;
List(1, 2, 3) map { i: Int => "_" + i }
答案 2 :(得分:0)
for(s <- List(1, 2, 3)) yield "_" + s
这是你要找的吗?