如何使用复合运算符,如" + ="使用自定义类型?
通过实施Add
, Sub
, etc可以重载一些基本运算符。但似乎没有对+=
的任何支持,x += y
也不会自动解释为x = x + y
(从1.0 alpha版本开始)。
答案 0 :(得分:8)
现在支持此功能,称为Filter
(AddAssign
,SubAssign
...等等。
这是一个基本的例子:
MulAssign
答案 1 :(得分:5)
你现在不能,但它肯定是非常需要的东西。涵盖RFC issue #393。
很久以前x += y
已被x = x + y
实施,但总是存在漏洞。我认为当时这种方法没有任何根本性问题,但现在我认为转向运算符特征采用参数by-value会使得desugaring更难以正常工作。