class BaseVector {
constructor(...) {
if (vargv.len() >= 3) {
x = vargv[0]
y = vargv[1]
z = vargv[2]
}
}
x = 0
y = 0
z = 0
}
// メタメソッドを実装するクラス。
class Vector3 extends BaseVector {
function _add(other) {
if (other instanceof this.getclass())
return ::Vector3(x + other.x, y + other.y, z + other.z)
else
throw "wrong parameter"
}
function _tostring() {
return x + "," + y + "," + z
}
}
local v0 = Vector3(1, 2, 3)
local v1 = Vector3(11, 12, 13)
local v2 = v0 + v1
print(v2.tostring())
ただしzlib/libpng licenseではライセンスの表記義務が無いため、上記の採用ソフトウェア以外にも、Squirrelの採用を公開していないソフトウェアが多数存在する可能性がある。