typescript - Supraincarcarea operatorilor AssemblyScript cu evidențierea sintaxei
Am scris o clasă simplă Vector3 în assemblyscript. Codul se compilează perfect, dar evidențiatorul de sintaxă TypeScript, desigur, nu înțelege supraîncărcările de operatori. Există vreo modalitate ca TypeScript să rezolve tipul din supraîncărcarea operatorilor în AssemblyScript?
- documentație pentru supraincarcarea operatorilor
Cod:
const a = new Vector3()
const b = new Vector3()
const c = a + b //red squigglies
//escape hatch method - works but unideal
//@ts-ignore
const d = <Vector3>a + b
Mesaj de eroare:
Definiția Clasei:
export class Vector3{
x: f32
y: f32
z: f32
constructor(x: f32 = 0, y: f32 = 0, z: f32 = 0){
this.x = x
this.y = y
this.z = z
}
@operator('+')
__op(other: Vector3): Vector3 {
return new Vector3(
this.x + other.x,
this.y + other.y,
this.z + other.z
)
}
}
