我试图在这样的数组上实现不同的函数:
def distinct(a: Array[Int]): Array[Int] = a match {
case Array() => a
case Array(head, tail @ _*) => head +: distinct(tail.toArray).filter(_ != head)
}
我不喜欢,每次都必须将 tail toArray 转换。否则编译器会抱怨 tail 只是一个序列而不是数组。在这种情况下是否可以更好地进行模式匹配?