Dart 覆盖一元减号运算符
Dart overriding unary minus operator
根据语言规范(10.1.1 运算符),我试图覆盖某些运算符。
我在重写 'minus' 和 'unary minus' 运算符时遇到分析器错误 - 我没有得到:
'The operator "-" is not defined on class Indentation'
但是在class中我定义了它:
Indentation operator -() {
level--;
return this;
}
我像 myInstance--;
一样使用它,它确实有效,但分析器仍然抱怨,由于错误,我无法提交代码 'clean'。
我查找了一个旧线程 (Why does overriding negate cause static warning in Dart),但我认为它与此处无关。
欢迎任何建议。
--x
等同于 x -= 1
。要使用它,您必须定义 operator -(p)
(不是 operator -()
)
Indentation operator -(n) => new Indentation(level - n);
根据语言规范(10.1.1 运算符),我试图覆盖某些运算符。
我在重写 'minus' 和 'unary minus' 运算符时遇到分析器错误 - 我没有得到:
'The operator "-" is not defined on class Indentation'
但是在class中我定义了它:
Indentation operator -() {
level--;
return this;
}
我像 myInstance--;
一样使用它,它确实有效,但分析器仍然抱怨,由于错误,我无法提交代码 'clean'。
我查找了一个旧线程 (Why does overriding negate cause static warning in Dart),但我认为它与此处无关。
欢迎任何建议。
--x
等同于 x -= 1
。要使用它,您必须定义 operator -(p)
(不是 operator -()
)
Indentation operator -(n) => new Indentation(level - n);