ジェネリックscalaクラスでコンストラクターをオーバーロードしようとしていますが、コンパイルされていません。
これが私のコードです:
class V[T](m: Map[T,Double]) {
def this(dt: Seq[Double]) = this(dt.zipWithIndex.map(_.swap).toMap)
}
そして、私が受け取るエラーメッセージ:
ERROR: called constructor's definition must precede calling constructor's definition : line 6
ERROR: overloaded method constructor V with alternatives:
(dt: Seq[Double])V[T] <and> (m: Map[T,Double])V[T] cannot be applied to
(scala.collection.immutable.Map[Int,Double]) : line 6
私がscalaでのコンストラクターのオーバーロードを理解している限り、私は適切な構文と、toの呼び出しが他のthis
すべてに先行する必要があるという制限に従っていると思います。
それで、私は何を間違っているのですか、そしてどうすればこれを修正できますか?