Lyu
Well-Known Member
- Joined
- Jul 13, 2018
- Messages
- 14
- Solutions
- 1
- Reaction score
- 50
Hi, here's a simple lua vector helper i just wrote:
github gist: lua vector helper (https://gist.github.com/Lyuzera/83e7fde34862140eff8739d2ca3e5d8f)
example of how to use:
Lua:
--[[
Lua vector helper created by Lyµ
Discord: Lyµ#8767
]]
vector = {}
setmetatable(vector, {
__call = function(self, ...)
local obj = {...}
return setmetatable(obj, {__index = self})
end
})
function vector:front()
return self[1]
end
function vector:back()
return self[#self]
end
function vector:at(index)
return self[index]
end
function vector:empty()
return #self == 0
end
function vector:size()
return #self
end
function vector:clear()
for i = 1, #self do
self[i] = nil
end
end
function vector:emplace_back(element)
self[#self + 1] = element
end
function vector:emplace_front(element)
table.insert(self, 1, element)
end
function vector:erase(element)
for i = 1, #self do
if self[i] == element then
table.remove(self, i)
break
end
end
end
function vector:pop_back()
self[#self] = nil
end
function vector:pop_front()
self:erase(self[1])
end
function vector:rand()
return self[math.random(#self)]
end
github gist: lua vector helper (https://gist.github.com/Lyuzera/83e7fde34862140eff8739d2ca3e5d8f)
example of how to use:
Lua:
local vec = vector(5, 2)
vec:pop_front()
vec:emplace_back(10)
print(vec:front(), vec:back()) --> 2 10
Last edited: