@ _ *提取器不在Scala中编译

时间:2017-09-26 05:37:21

标签: scala

我认为@_*匹配变量参数列表。我试图使用它如下,但代码不是编译。

val l= List(1,2,3,4,5)
l match {
    case (first +: second +: rest@_*) => println("atleast 2 elements in the list")
}

1 个答案:

答案 0 :(得分:0)

两种可能的解决方案。

List()List()匹配:

case List(first, second, rest@_*) => . . .

或者将您的List()与一系列连接元素匹配:

case first +: second +: rest => . . .

无论哪种方式,标识符firstsecond都会填充列表中的第1个和第2个值,rest将包含剩余的值。