问题描述
自从使用一些 C# 数学课程以来,我一直在想这个问题。考虑以下类:
class Vector3 {
constructor(x = 0,y = 0,z = 0) {
this.x = x;
this.y = y;
this.z = z;
}
}
现在,如果我想创建一个“前向向量”示例,我将创建以下实例:
let fwd = new Vector3(0,.5)
然而,我想知道,在 C# 中这是允许的:fwd * 3
,导致以下对象:
fwd.x = 0,fwd.y = 0,fwd.z = 1.5
因为 (x = 0 * 3 = 0
,y = 0 * 3 = 0
,z = 0.5 * 3 = 1.5
).
我目前所知道的唯一可能的方法是向 multiply
的类添加一个函数,或者手动获取每个值并对其进行倍数,即:
fwd.multiply(3)
// or
fwd.x *= 3;
fwd.y *= 3;
fwd.z *= 3;
有没有办法扩展 Javascript 类/函数来支持基本的算术函数?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)