Як написати неявну конверсію для коду нижче (спрощена)? Я розумію, що потрібно конвертувати (Int) => B
до (String) => B
.
List(1, 2, 3).map { s: String => "_" + s }
// expected: List("_1", "_2", "_3")
Відповіді:
4 для відповіді № 1Я вважаю, що відповідь Саймона найкраще працює.
implicit def convertFun[B](fun: String => B): (Int => B) = {
x: Int => fun(x.toString)
}
0 для відповіді № 2
Насправді вам не потрібно, просто зробіть це подобається;
List(1, 2, 3) map { i: Int => "_" + i }
0 для відповіді № 3
for(s <- List(1, 2, 3)) yield "_" + s
Це те, що ти шукаєш?