# Module Arg

Description

  Argument parsing module This module supports two rather different methods of argument parsing. The first is suitable quick argument parsing without much in the way of checking:

  int main( int c, array(string) argv ) { mapping arguments = Arg.parse(argv); array files = arguments[Arg.REST]; if( arguments->help ) print_help(); ... }

The Arg.parse method will return a mapping from argument name to the argument value, if any.

Non-option arguments will be placed in the index Arg.REST

The second way to use this module is to inherit the LowOptions class and then start adding supported arguments:

    class MyArguments {
        inherit Arg.LowOptions;
        Opt verbose = NoOpt("-v")|NoOpt("--verbose");
        Opt help = MaybeOpt("--help");
        Opt output = HasOpt("--output")|HasOpt("-o");
     };

Then, in main:

    MyArguments args = MyArguments(argv);

See the documentation for OptLibrary for details about the various Opt classes.

Constant REST

  `constant Arg.REST`

Description

  Constant used by Arg.parse() to indicate the remaining objects.