いくつかのJava数学クラスをScalaに書き直そうとしていますが、奇妙な問題があります。
class Polynomials[@specialized T](val coefficients:List[T]) {
def +(operand:Polynomials[T]):Polynomials[T] = {
return new Polynomials[T](coefficients =
(operand.coefficients, this.coefficients).zipped.map(_ + _))
}
}
私の問題はこの質問に似ているかもしれません:すべての数値型に対してクラスをジェネリックにするにはどうすればよいですか?、しかし、削除する@specialized
と同じエラーが発生します。
type mismatch; found : T required: String
map関数の2番目のアンダースコアはエラーのために強調表示されていますが、それは問題ではないと思います。
私がしたいのは持っていることです:
Polynomial(1, 2, 3) + Polynomial(2, 3, 4)
戻るPolynomial(3, 5, 7)
そしてPolynomial(1, 2, 3, 5) + Polynomial(2, 3, 4)
戻ってPolynomial(3, 5, 7, 5)
2つ目は、これを機能させるために短いリストをゼロ要素で埋める必要があるかもしれませんが、それがこの関数の私の目標です。
では、どうすればこの関数をコンパイルしてテストできるのでしょうか?