#!/usr/local/bin/lua -i Vector={} function Vector.new(x,y) local v={x,y} setmetatable (v, Vektorrechnung) return v end function Vector.add(a,b) return Vector.new(a[1]+b[1], a[2]+b[2]) end function Vector.length(v) return (v[1]^2+v[2]^2)^0.5 end function Vector.prettyprint(v) return "("..v[1]..", "..v[2]..")" end function Vector.mul(a,b) if (type(a)=="number") then return Vector.new(a*b[1], a*b[2]) -- skalare Multiplikation else return a[1]*b[1]+a[2]*b[2] -- Skalarprodukt end end Vektorrechnung={ __add=Vector.add, __mul=Vector.mul, __tostring=Vector.prettyprint, __len=Vector.length } a=Vector.new(1,1) b=Vector.new(0,-1) print(a) print(b) print(#a) print(#b) print(a*b) print(3*a) print(a+b) --print(a-b) geht nicht