Parse --key=value arguments
Lua
local function parse_args(argv)
local options = {}
local i = 1
while i <= #argv do
local key = argv[i]
if key:sub(1, 2) ~= "--" then
error("expected --key=value, got: " .. key)
end
local name, value = key:match("^%-%-([%w_-]+)=(.*)$")
if not name then
error("missing value for " .. key)
end
options[name] = value
i = i + 1
end
return options
end
local opts = parse_args(arg)
print(opts.port or "3000")