-- The getopt-functionality is loaded from pm3/getopt.lua -- Have a look there for further details getopt = require('getopt') usage = "script run parameters.lua -a 1 -blala -c -de" author = "Martin Holst Swende" desc =[[ This is an example script to demonstrate handle parameters in scripts. For more info, check the comments in the code ]] local function main(args) print(desc) print("These parameters were passed") --[[ When passing parameters, x: means that a value should follow x y means that 'y' is a flag, either on or off So, the string a:b:def means that we support up to 5 parameters; two with values and three flags. The following should be valid: script run parameters.lua -a 1 -blala -c -de Notice two things: 1. 'blala' works just like 'b lala', both set 'b' to 'lala' 2. Flags can be put together, '-de' is the same as '-d -e' 3. The format -b=lala is *not* supported 4. The format b lala (without -) is *not* supported --]] for o, a in getopt.getopt(args, 'a:b:ced') do print(o, a) end end --[[ In the future, we may implement so that scripts are invoked directly into a 'main' function, instead of being executed blindly. For future compatibility, I have done so, but I invoke my main from here. --]] main(args)