Sei que tem havido algumas perguntas sobre isso, mas criei um exemplo simples que pensei que deveria funcionar, mas ainda não funciona e não tenho certeza se entendi por quê
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))
Alguém pode explicar por que a segunda instrução não compila?
scala
scala-placeholder-syntax
Jeff Storey
fonte
fonte
myStrings.foreach (println)
Respostas:
Ele se expande para:
Você quer:
A sintaxe de espaço reservado para funções anônimas substitui a menor expressão contendo possível por uma função.
fonte
myStrings.foreach(println(_))
inclui automaticamentetoString
para o argumento deprintln
?