Ich weiß, dass es einige Fragen dazu gab, aber ich habe ein einfaches Beispiel erstellt, von dem ich dachte, dass es funktionieren sollte, aber es funktioniert immer noch nicht und ich bin mir nicht sicher, warum ich das verstehe
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))
Kann jemand erklären, warum die zweite Anweisung nicht kompiliert wird?
scala
scala-placeholder-syntax
Jeff Storey
quelle
quelle
myStrings.foreach (println)
Antworten:
Es erweitert sich zu:
Sie wollen:
Die Platzhaltersyntax für anonyme Funktionen ersetzt den kleinstmöglichen Ausdruck mit einer Funktion.
quelle
myStrings.foreach(println(_))
automatisch ein ?toString
println