POSIX getopt(3), in compliance with POSIX 2008
getopt
will parse the command line parameters of a Scheme program
following the POSIX Utility Syntax Guidelines.
Usage: (getopt optstring virtual-command-line)
Where optstring
is an options string as defined in POSIX.
See
the specification
for more details. Note that leading ':'s are ignored since this
implementation of getopt doesn't print anything for you and doesn't return
':' and '?' like in the C function; the appropriate error is always raised.
Sample optstrings:
"abcd"
- Accept flags a, b, c, and d; none of which take parameters."a:b:c:d:"
- Accept flags a, b, c, and d; all of which require parameters."W:xy:Z"
- accept flags W, x, y, and Z. x and Z don't take parameters, W and y require parameters.":ab:cd"
- Accept flags a, b, c, and d; b requires a parameter.
virtual-command-line ...
is a list of strings as would be returned by
(command-line)
. If there are no virtual command line arguments
provided then the list returned by (command-line)
is used.
getopt
will return an association list with the keys corresponding
to each of the flags present. If the flag does not accept a value then the
value of the association will be #t
, otherwise it will be a string
containing the argument.
The special key 'command
contains the name of the command.
The special key '@
contains the remaining non-option arguments, in
the order they were present in on the command line.