getopt.lua
#! /usr/bin/env lua
local getopt = require 'posix.unistd'.getopt
local last_index = 1
for r, optarg, optind in getopt(arg, 'ha:s:') do
if r == '?' then
return print('unrecognized option', arg[optind -1])
end
last_index = optind
if r == 'h' then
print '-h print this help text'
print '-a ARG a flag with required argument'
print '-s ARG a different flag with a required argument'
elseif r == 'a' or r == 's' then
print('we were passed', r, optarg)
end
end
for i = last_index, #arg do
print(i, arg[i])
end