]>
Commit | Line | Data |
---|---|---|
1 | ||
2 | -- The getopt-functionality is loaded from pm3/getopt.lua | |
3 | -- Have a look there for further details | |
4 | getopt = require('getopt') | |
5 | ||
6 | usage = "script run parameters.lua -a 1 -blala -c -de" | |
7 | author = "Martin Holst Swende" | |
8 | desc =[[ | |
9 | This is an example script to demonstrate handle parameters in scripts. | |
10 | For more info, check the comments in the code | |
11 | ]] | |
12 | ||
13 | local function main(args) | |
14 | ||
15 | print(desc) | |
16 | print("These parameters were passed") | |
17 | --[[ | |
18 | When passing parameters, | |
19 | x: means that a value should follow x | |
20 | y means that 'y' is a flag, either on or off | |
21 | So, the string a:b:def means that we support up to | |
22 | 5 parameters; two with values and three flags. The following | |
23 | should be valid: | |
24 | ||
25 | script run parameters.lua -a 1 -blala -c -de | |
26 | ||
27 | Notice two things: | |
28 | 1. 'blala' works just like 'b lala', both set 'b' to 'lala' | |
29 | 2. Flags can be put together, '-de' is the same as '-d -e' | |
30 | 3. The format -b=lala is *not* supported | |
31 | 4. The format b lala (without -) is *not* supported | |
32 | --]] | |
33 | ||
34 | for o, a in getopt.getopt(args, 'a:b:ced') do | |
35 | print(o, a) | |
36 | end | |
37 | end | |
38 | ||
39 | ||
40 | --[[ | |
41 | In the future, we may implement so that scripts are invoked directly | |
42 | into a 'main' function, instead of being executed blindly. For future | |
43 | compatibility, I have done so, but I invoke my main from here. | |
44 | --]] | |
45 | main(args) |