/ / Come posso scrivere una conversione di funzione implicita per una chiamata mappa in Scala - scala

Come faccio a scrivere una conversione di funzione implicita per una chiamata di mappa in Scala - scala

Come faccio a scrivere una conversione implicita per il codice seguente (semplificato)? Capisco che devi convertirti (Int) => B a (String) => B.

List(1, 2, 3).map { s: String => "_" + s }
// expected: List("_1", "_2", "_3")

risposte:

4 per risposta № 1

Penso che la risposta di Simon funzioni meglio. Nel caso in cui tu voglia ancora fare la conversione implicita, il seguente dovrebbe fare il trucco.

implicit def convertFun[B](fun: String => B): (Int => B) = {
x: Int => fun(x.toString)
}

0 per risposta № 2

In realtà non è necessario, basta farlo come;

List(1, 2, 3) map { i: Int => "_" + i }

0 per risposta № 3
 for(s <- List(1, 2, 3)) yield "_" + s

E 'questo quello che stai cercando?