Module Arg


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


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