3

スカラ関数に次のパターン マッチング ケースがあります。

def someFunction(sequences: Iterable[Seq[Int]]):Seq[Int] = sequences match{
    case Seq() => Seq(1)
    case _ => ...
    ...
}

そして、次の警告が表示されます。

warning: non variable type-argument A in type pattern Seq[A] is unchecked since it is eliminated by erasure
case Seq(_) => Seq(1)
        ^
one warning found

これは何を意味するのでしょうか?

4

1 に答える 1

2

この警告は少し偽物で、Scala 2.10 には存在しません。実際、これは Scala 2.8 からのリグレッションだと思います (つまり、Scala 2.8 にはありません)。

警告の理由は、それが の型パラメーターであるため、Seq(_)を意味すると解釈し、コンパイル時にそれが消去されるため、そこにあることを保証できないと不平を言うことです。私が言ったように、それは偽物です。Seq(_: Seq[Int])sequencesInt

于 2012-06-12T23:50:25.807 に答える