我知道这方面有很多问题,但我创造了一个我认为应该有用的简单例子,但仍然没有,我不确定我理解为什么
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))
Run Code Online (Sandbox Code Playgroud)
有人可以解释为什么第二个语句不编译?
为什么这不起作用:
List(true,false).filter(_).size
Run Code Online (Sandbox Code Playgroud)
错误说:
<console>:8: error: missing parameter type for expanded function
((x$1) => List(true, false).filter(x$1).size)
List(true,false).filter(_).size
^
Run Code Online (Sandbox Code Playgroud)
但以下作品(对我来说看起来一样):
List(true,false).filter(a => a).size
Run Code Online (Sandbox Code Playgroud)
我正在使用Scala 2.9.0.1.