シンボルの型class A[_]
またはのdef a[_](x: Any)
型には、本体で参照できない型パラメーターがあるため、それがどこで役立つのか、なぜコンパイルされるのかわかりません。この型パラメーターを参照しようとすると、エラーがスローされます。
scala> class A[_] { type X = _ }
<console>:1: error: unbound wildcard type
class A[_] { type X = _ }
^
scala> def a[_](x: Any) { type X = _ }
<console>:1: error: unbound wildcard type
def a[_](x: Any) { type X = _ }
^
そのようなタイプがScalaでユースケースを持っているかどうか誰か教えてもらえますか? 正確に言うと、型パラメーターの存在型またはより高度な種類の型を意味するのではなく[_]
、完全な型パラメーター リストを形成するわずかな型のみを意味します。