# 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.