Ich habe einen Typ, der eine benutzerdefinierte +
definiert hat. Ich frage mich, ob es für Swift möglich war, automatisch eine Definition für +=
zu schreiben, nämlich a += b
->a = a+b
. Idealerweise müsste ich nicht für jeden Operator, den ich schreibe, den entsprechenden Zuweisungsoperator schreiben.Haben Sie automatisch + = definiert, wenn Sie + definieren?
Beispielcode:
class A {
var value: Int
init(_ value: Int) {
self.value = value
}
static func +(lhs: A, rhs: A) -> A {
return A(lhs.value + rhs.value)
}
}
var a = A(42)
let b = A(10)
// OK
let c = a + b
// error: binary operator '+=' cannot be applied to two 'A' operands
// Ideally, this would work out of the box by turning it into a = a+b
a += b
Konnten Sie den Code für die überladene Operatormethode bekannt geben? – ZeMoon
@ZeMoon Ich habe Beispielcode hinzugefügt – BallpointBen