相关疑难解决方法(0)

为什么我可以在模式匹配中使用:: operator和Seq,但在其他地方不能

所以我对Scala中Seq的这种行为感到困惑.

使用模式匹配时,我可以使用任何一个::+:运算符,它们似乎可以互换

val s=Seq(1,2,3)
s match{
case x :: l => ...
Run Code Online (Sandbox Code Playgroud)

但是当我试图::在不同情况下使用时:

val s=1::Seq(2,3)
Run Code Online (Sandbox Code Playgroud)

我收到"value :: is not a member of Seq[Int]"消息.我明白我应该使用+==+Seq的运算符,但为什么 ::只在模式匹配场景中工作?

scala

4
推荐指数
1
解决办法
798
查看次数

标签 统计

scala ×1