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 Options class and add supported arguments.
class MyArguments { inherit Arg.Options; string help_pre = "Usage: somecommand"; Opt verbose = NoOpt("-v")|NoOpt("--verbose"); string verbose_help = "Turn on verbose output"; Opt help = MaybeOpt("--help"); Opt output = HasOpt("--output")|HasOpt("-o"); string output_help = "Determine where output goes to"; string help_post = "Command aborted"; };
Then, in main:
MyArguments args = MyArguments(argv);
See the documentation for OptLibrary for details about the various Opt classes.
- Constant
APP
constant
Arg.APP
- Description
Constant used to represent the name of the application from the command line. Can be used when indexing an Options object.
- Constant
PATH
constant
Arg.PATH
- Description
Constant used to represent the full path of the application from the command line. Can be used when indexing an Options object.