Wiem, że było sporo pytań na ten temat, ale stworzyłem prosty przykład, który moim zdaniem powinien działać, ale nadal nie działa i nie jestem pewien, czy rozumiem dlaczego
val myStrings = new Array[String](3)
// do some string initialization
// this works
myStrings.foreach(println(_))
// ERROR: missing parameter type for expanded function
myStrings.foreach(println(_.toString))
Czy ktoś może wyjaśnić, dlaczego druga instrukcja się nie kompiluje?
scala
scala-placeholder-syntax
Jeff Storey
źródło
źródło
myStrings.foreach (println)
Odpowiedzi:
Rozszerza się do:
Chcesz:
Składnia symbolu zastępczego dla funkcji anonimowych zastępuje najmniejsze możliwe wyrażenie zawierające funkcję.
źródło
myStrings.foreach(println(_))
automatycznie włączatoString
argument doprintln
?