[Top]
Getopt
|
Method Getopt.find_all_options()
- Method
find_all_options
array(array) find_all_options(array(string) argv, array(array(array(string)|string|int)) options, void|int(-1..1) posix_me_harder, void|int throw_errors)
- Description
This function does the job of several calls to find_option() .
The main advantage of this is that it allows it to handle the
POSIX_ME_HARDER environment variable better. When the either
the argument posix_me_harder or the environment variable
POSIX_ME_HARDER is true, no arguments will be parsed after
the first non-option on the command line.
- Parameter argv
The should be the array of strings that was sent as the second
argument to your main() function.
- Parameter options
Each element in the array options should be an array on the
following form:
Array |
string name | Name is a tag used to identify the option in the output.
|
int type | Type is one of Getopt.HAS_ARG , Getopt.NO_ARG and
Getopt.MAY_HAVE_ARG and it affects how the error handling
and parsing works.
You should use HAS_ARG for options that require a path, a number
or similar. NO_ARG should be used for options that do not need an
argument, such as --version. MAY_HAVE_ARG should be used
for options that may or may not need an argument.
|
string|array(string) aliases | This is a string or an array of string of options that will be
looked for. Short and long options can be mixed, and short options
can be combined into one string. Note that you must include the
dashes so that find_all_options() can distinguish between
long and short options. Example: ({"-tT","--test"})
This would make find_all_options look for -t,
-T and --test.
|
void|string|array(string) env_var | This is a string or an array of strings containing names of
environment variables that can be used instead of the
command line option.
|
void|mixed default | This is the default value a MAY_HAVE_ARG option will have in the
output if it was set but not assigned any value.
|
|
Only the first three elements need to be included.
- Parameter posix_me_harder
Don't scan for arguments after the first non-option.
- Parameter throw_errors
If throw_errors has been specified find_all_options() will
throw errors on failure. If it has been left out, or is
0 (zero), it will instead print an error message on
Stdio.stderr and exit the program with result code 1 on
failure.
- Returns
The good news is that the output from this function is a lot simpler.
find_all_options() returns an array where each element is an array on
this form:
Array |
string name | Option identifier name from the input.
|
mixed value | Value given. If no value was specified, and no default has been
specified, the value will be 1.
|
|
- Note
find_all_options() modifies argv .
Index 0 (zero) of argv is not scanned for options,
since it is reserved for the program name.
- See also
Getopt.get_args() , Getopt.find_option()
|