Warum leitet Scala den Typ nicht aus generischen Typparametern ab?
Angenommen, diese Funktion
def func[A](data: List[A], mapper: A => String) = {
data.map(item => mapper(item))
}
Warum dieser Code nicht kompiliert:
val list = List(1, 2, 3)
func(list, a => a.toString)
Aber dieser macht:
val list = List(1, 2, 3)
func[Int](list, a => a.toString)
Oder
val list = List(1, 2, 3)
func(list, (a: Int) => a.toString)
Währenda
Typ kann aus der Liste abgeleitet werden, die istList
vonInt
. Warum leitet Scala den Typ hier nicht ab?
Gibt es einen anderen Weg?