Pike v8.0 release 1738

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.