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)
没有抱怨缺少参数类型.我无法弄清楚它失败的原因.
编辑:我的意思是打印不打印 - 不是说它有逻辑上的区别.
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,_)?