小编Dav*_*Sol的帖子

scala类型推断与_占位符

List("This","is","Scala").foreach(a => print(a+" "))
Run Code Online (Sandbox Code Playgroud)

编译好,但是

List("This","is","Scala").foreach(print(_+" "))
Run Code Online (Sandbox Code Playgroud)

没有抱怨缺少参数类型.我无法弄清楚它失败的原因.

编辑:我的意思是打印不打印 - 不是说它有逻辑上的区别.

scala type-inference placeholder

7
推荐指数
2
解决办法
609
查看次数

斯卡拉列表匹配

List(1,2) match {
  case List(1,_) => println("1 in postion 1")
  case _ => println("default")
}
Run Code Online (Sandbox Code Playgroud)

编译/工作正常.那样做

List(1) match ...
List(3,4,5) match ...
Run Code Online (Sandbox Code Playgroud)

但不是

List() match ...
Run Code Online (Sandbox Code Playgroud)

这会导致以下错误

found : Int(1)
required : Nothing
             case List(1,_) => println("1 in postion 1")
Run Code Online (Sandbox Code Playgroud)

为什么List()尝试匹配List(1,_)?

scala list match

6
推荐指数
2
解决办法
1949
查看次数

标签 统计

scala ×2

list ×1

match ×1

placeholder ×1

type-inference ×1