36 lines
593 B
Lua
36 lines
593 B
Lua
local M = {}
|
|
|
|
function M.parse(str)
|
|
local major, minor, patch = string.match(str, "^(%d+)%.(%d+)%.(.+)$")
|
|
return {tonumber(major), tonumber(minor), tonumber(patch)}
|
|
end
|
|
|
|
function M.eq(v1, v2)
|
|
for i = 1, 3 do
|
|
if v1[i] ~= v2[i] then
|
|
return false
|
|
end
|
|
end
|
|
return true
|
|
end
|
|
|
|
function M.lt(v1, v2)
|
|
for i = 1, 3 do
|
|
if v1[i] < v2[i] then
|
|
return true
|
|
elseif v1[i] > v2[i] then
|
|
return false
|
|
end
|
|
end
|
|
return false
|
|
end
|
|
|
|
function M.gteq(v1, v2)
|
|
return not M.lt(v1, v2)
|
|
end
|
|
|
|
function M.between(x, l, h)
|
|
return M.gteq(x, l) and M.lt(x, h)
|
|
end
|
|
|
|
return M |