次のような配列に個別の関数を実装しようとしていました。
def distinct(a: Array[Int]): Array[Int] = a match {
case Array() => a
case Array(head, tail @ _*) => head +: distinct(tail.toArray).filter(_ != head)
}
毎回テールを配列に変換する必要があるのは好きではありません。そうしないと、コンパイラは、末尾が配列ではなく単なるシーケンスであると不平を言います。この場合、パターン マッチを改善することは可能ですか?