參數語法糖我有操作有點語法糖,一個物體上取決於:有斯卡拉
case class EllipticOperand (p : Point)
{
def + (q : => Point) = curve.sum(p,q)
def * (n : => BigInt) = curve.times(p,n)
}
implicit def PointToOperand(p : Point) = EllipticOperand(p)
case class EllipticMultiplier (n : BigInt)
{
def * (p : => Point) = curve.times(p,n)
}
implicit def BigIntToOperand (n : BigInt) = EllipticMultiplier(n)
我想在一些class SyntacticSugar[Point](curve : main.Curve[Point])
封裝在其他類定義來使用它,而無需拷貝/粘貼它。
我試圖用這種方式:
val sugar = new util.SyntacticSugar(curve)
import sugar._
然而,這是不行的,以後我不能用+
和*
。
爲什麼不特質,你會混入其他班級? –
問題是,'特性'不支持參數,我的語法糖每次都取決於特定的曲線。 謝謝你的方式。 –
您定義了類'SyntacticSugar',像這樣:'class SyntacticSugar [Point](curve:main.Curve [Point])'?所以上面de代碼片段中的'Point'不是一個類,而是一個類型參數? –