我刚写了Matrix类,后面有constuctor:
class Matrix (val dim1: Int)(val dim2: Int, val args: Matrix.IntMode*)
所以,我想得到一个矢量类,第一个维度总是1,并尝试类似的东西:
type Vector = Matrix(1) _
但是找不到正确的方法来实现我的想法。对于这个
的任何帮助,我将不胜感激答案 0 :(得分:4)
以下内容如何:
class A(val a: Int)(b: Int, c: Int)
class B(b: Int, c: Int) extends A(1)(b,c) {
override def toString = s"$a $b $c"
}
val b = new B(3, 4)
println(b)
在Scala工作表中运行时会产生以下内容:
1 3 4
我必须将参数a
变为val
,以便b
<{1}}显示toString
答案 1 :(得分:0)
我强烈推荐 mattinbits 解决方案。
但是,如果你不想定义另一个类,你可以通过以下方式实现类似的东西:
type Vector = Matrix
object Vector {
def apply(dim2: Int, args: Matrix.IntMode*): Vector = new Matrix(1)(dim2, args: _*)
}
val myVector = Vector(2, ...)