/ / Як мені написати неявне перетворення функції для виклику карти в Scala - scala

Як написати неявну функцію перетворення для виклику карти в Scala - scala

Як написати неявну конверсію для коду нижче (спрощена)? Я розумію, що потрібно конвертувати (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

Це те, що ти шукаєш?