相关疑难解决方法(0)

Scala下划线 - 错误:缺少扩展函数的参数类型

我知道这方面有很多问题,但我创造了一个我认为应该有用的简单例子,但仍然没有,我不确定我理解为什么

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)

有人可以解释为什么第二个语句不编译?

scala scala-placeholder-syntax

82
推荐指数
1
解决办法
3万
查看次数

List.filter中的下划线

为什么这不起作用:

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.

scala

9
推荐指数
1
解决办法
2219
查看次数

标签 统计

scala ×2

scala-placeholder-syntax ×1