Learn R Programming

optparse (version 0.8)

add_option: Functions to enable our OptionParser to recognize specific command line options.

Description

add_option adds a option to a prexisting OptionParser instance whereas make_option is used to create a list of OptionParserOption instances that will be used in the option_list argument of the OptionParser function to create a new OptionParser instance.

Usage

make_option(opt_str, action = "store", type = NULL, dest = NULL, 
                default = NULL, help = "", metavar = NULL)
    add_option(object, opt_str, action="store", type=NULL, dest=NULL,
               default=NULL, help="", metavar=NULL)

Arguments

object
An instance of the OptionParser class
opt_str
A character vector containing the string of the desired long flag comprised of -- followed by a letter and then a sequence of alphanumeric characters and optionally a string of the desired short flag comprised of the - fo
action
A character string that describes the action optparse should take when it encounters an option, either store, store_true, or store_false. The default is store which si
type
A character string that describes specifies which data type should be stored, either logical, integer, double, complex, or character. Default is logi
dest
A character string that specifies what field in the list returned by parse_args should optparse store option values. Default is derived from the long flag in opt_str.
default
The default value optparse should use if it does not find the option on the command line. Default is derived from the long flag in opt_str.
help
A character string describing the option to be used by print_help in generating a usage message. %default will be substituted by the the value of default.
metavar
A character string that stands in for the option argument when printing help text. Default is the value of dest.

Value

  • Both make_option and add_option return instances of class OptionParserOption.

References

Python's optparse library, which this package is based on, is described here: http://docs.python.org/library/optparse.html

See Also

OptionParser OptionParserOption parse_args OptionParser

Examples

Run this code
make_option("--longflag")
    make_option(c("-l", "--longflag"))
    make_option("--integer", type="integer", default=5)
    make_option("--integer", default=as.integer(5))  # same as previous

    # examples from package vignette
    make_option(c("-v", "--verbose"), action="store_true", default=TRUE,
        help="Print extra output [default]")
    make_option(c("-c", "--count"), type="integer", default=5, 
        help="Number of random normals to generate [default %default]",
        metavar="number")
    make_option("--generator", default="rnorm", 
        help = "Function to generate random deviates [default "%default"]")
    make_option("--mean", default=0, 
        help="Mean if generator == "rnorm" [default %default]")
    make_option("--sd", default=1, metavar="standard deviation",
        help="Standard deviation if generator == "rnorm" [default %default]")
<testonly>if (require("RUnit")) {
        checkEquals(make_option("--integer", type="integer", default=5),
                    make_option("--integer", default=as.integer(5)))
        checkEquals(make_option("--logical", type="logical", default="TRUE"),
                    make_option("--logical", default=TRUE))
        checkException(make_option("badflag"))
    }</testonly>

Run the code above in your browser using DataLab