Scala下划线 – 错误:缺less扩展function的参数types

我知道这个问题有好几个问题,但是我创build了一个我认为应该可以工作的简单例子,但是仍然没有,我不知道我为什么理解

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)) 

有人可以解释为什么第二个陈述不能编译?

它扩展到:

 myStrings.foreach(println(x => x.toString)) 

你要:

 myStrings.foreach(x => println(x.toString)) 

匿名函数的占位符语法用函数replace了可能的最小expression式。