Seq[T]をパラメーターとして使用するケースクラスがあります。
case class MyClass(value: Seq[T])
今、書けるようになりたい
MyClass(t1,t2,t3)
だから私は定義しました
object MyClass {
def apply(value: T*) = new MyClass(value.toSeq)
}
ケースクラスが定義するため、機能しません
object MyClass {
def apply(value: Seq[T])
}
消去後のSeq[T]とT*は同じタイプなので、オーバーロードすることはできません。
ただし、両方のアクセス方法を許可したいと思います。両方の方法を許可する必要があります。
MyClass(t1,t2,t3)
MyClass(some_seq_of_T)
Seq[T]とT*はほぼ同じタイプなので(少なくとも消去後、パラメーターT*を持つ関数の内部はSeq[T]になります)、両方の呼び出し方法を許可する方法があるはずです。 。
ある?