¿Por qué scala no infiere el tipo de parámetros de tipo genérico?
Supongamos esta función
def func[A](data: List[A], mapper: A => String) = {
data.map(item => mapper(item))
}
Por qué este código no se compila:
val list = List(1, 2, 3)
func(list, a => a.toString)
Pero este hace:
val list = List(1, 2, 3)
func[Int](list, a => a.toString)
O
val list = List(1, 2, 3)
func(list, (a: Int) => a.toString)
Mientrasa
tipo se puede inferir de la lista que esList
deInt
. ¿Por qué Scala no infiere el tipo aquí?
¿Hay alguna otra manera?