私はこれについてかなりの数の質問があったことを知っていますが、私はうまくいくはずだと思った簡単な例を作成しましたが、それでもうまくいかず、理由を理解できません
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))
誰かが2番目のステートメントがコンパイルされない理由を説明できますか?
以下に展開されます。
myStrings.foreach(println(x => x.toString))
あなたが欲しい:
myStrings.foreach(x => println(x.toString))
無名関数のプレースホルダー構文は、可能な限り小さい式を関数に置き換えます。