41 lines
783 B
Text
41 lines
783 B
Text
class &Vector {
|
|
+$x
|
|
+$y
|
|
|
|
+construct = ($x{number}, $y{number}) -> {
|
|
::$x $= double($x)
|
|
::$y $= double($y)
|
|
}
|
|
|
|
+op:add = ($op{OBJECT}) -> {
|
|
return parser.op(&Vector(::$x + $op::$x, ::$y + $op::$y))
|
|
}
|
|
|
|
+op:sub = ($op{OBJECT}) -> {
|
|
return parser.op(&Vector(::$x - $op::$x, ::$y - $op::$y))
|
|
}
|
|
|
|
+op:mul = ($op{number}) -> {
|
|
return parser.op(&Vector(::$x * $op, ::$y * $op))
|
|
}
|
|
|
|
+op:div = ($op{number}) -> {
|
|
return parser.op(&Vector(::$x / $op, ::$y / $op))
|
|
}
|
|
|
|
+to:text = () -> {
|
|
return [parser.op(::$x), parser.op(::$y)]
|
|
}
|
|
}
|
|
|
|
$vec1 = &Vector(5, 7)
|
|
$vec2 = &Vector(2, 3)
|
|
|
|
fn.println($vec1)
|
|
fn.println($vec2)
|
|
fn.println()
|
|
|
|
fn.println(parser.op($vec1 + $vec2))
|
|
fn.println(parser.op($vec1 - $vec2))
|
|
fn.println(parser.op($vec1 * 11))
|
|
fn.println(parser.op($vec1 / 2))
|