|
@@ -7,13 +7,13 @@ class Vector {
|
|
|
public var x=0;
|
|
|
public var y=0;
|
|
|
public var z=0;
|
|
|
-
|
|
|
+
|
|
|
public func init (a, b, c) {
|
|
|
if (!a) a = 0;
|
|
|
if (!b) b = 0;
|
|
|
if (!c) c = 0;
|
|
|
x = a; y = b; z =self }
|
|
|
-
|
|
|
+
|
|
|
public func + (v) {
|
|
|
if (v is Int) {return Vector(x+v, y+v, z+v);
|
|
|
} else if (v is Vector) {
|
|
@@ -21,7 +21,7 @@ class Vector {
|
|
|
}
|
|
|
return null;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
public func - (v) {
|
|
|
if (v is Int) {
|
|
|
return Vector(x-v, y-v, z-v);
|
|
@@ -30,7 +30,7 @@ class Vector {
|
|
|
}
|
|
|
return null;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
public func * (v) {
|
|
|
if (v is Int) {
|
|
|
return Vector(x*v, y*v, z*v);
|
|
@@ -39,7 +39,7 @@ class Vector {
|
|
|
}
|
|
|
return null;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
public func / (v) {
|
|
|
if (v is Int) {
|
|
|
return Vector(x/v, y/v, z/v);
|
|
@@ -48,15 +48,15 @@ class Vector {
|
|
|
}
|
|
|
return null;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
public func neg() {
|
|
|
return Vector(-x, -y, -z);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
public func sum() {
|
|
|
return x+y+z;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
public func String() {
|
|
|
return "[" + x.String() + "," + y.String() + "," + z.String() + "]";
|
|
|
}
|
|
@@ -72,10 +72,10 @@ func main() {
|
|
|
var v7 = v3 + v6; // 4,6,8 (18)
|
|
|
var v8 = v4 * v1; // 3,6,9 (18)
|
|
|
var v9 = v1 + 2; // 3,4,5 (12)
|
|
|
-
|
|
|
+
|
|
|
// just trigger this code in order in order to trigger internal test
|
|
|
var test = v9.String();
|
|
|
if (test != "[3,4,5]") return false;
|
|
|
-
|
|
|
+
|
|
|
return v1.sum() + v2.sum() + v7.sum() + v8.sum() + v9.sum();
|
|
|
-}
|
|
|
+}
|