0
多次元データ(つまり、n次元Arary
sまたはVector
s)から構築された汎用クラスを持っています。
この場合、その次元(Vector[Vector[T]]
ではなくVector[Array[T]]
)以外のクラスを1つのタイプ(たとえばVector
)でインスタンス化することを希望します。 (...かなど)
Scalaの多次元データ型
class Foo[T](x: Vector[T], y: Bar[T])
は、どのように私はTを例Vector[T]
またはVector[Vector[T]]
のためになることを保証することができますではなくArray[T]
またはVector[Array[T]]
:
このクラスの署名を持って?
異なるコレクション型の2次元であり、許可されないVector [Array [Int]]と、1つのコレクション型(Vector)のみを持つ1次元Vector [Array [Int]]の違いは何ですか?要素型はちょうど* Array * [int]になりますか?誰かにベクトル[ベクトル[Int]]を与えたいと思っても、あなたは外側の次元に対処して内側のものをそのまま残しておきたいですか?今のところ、あなたが望むのはLiskov Substitutionの原則を破るものです:私はVector [Any]に渡すことができますが、それはサブタイプでもVector [Seq [_]]を与えることはできません。 – HTNW