CLIG(1) Programmer's Manual CLIG(1)NAME
::clig::String - declare an option with parameters of type string
SYNOPSIS
package require clig
namespace import ::clig::*
setSpec db
String -opt varname usage [-c min max] {[-d default ...] | [-m]}
DESCRIPTION
The String command declares -opt to have zero or more string arguments.
varname
declares that arguments found for -opt are passed to the caller
of the parser in a variable (tcl) or slot (C) of that name.
usage is a short text describing -opt. It is used in the generated
manual or in a usage-message printed by the parser if necessary.
-c specifies the minimum and maximum number of parameters -opt may
have. If less than min or more than max are found, the parser
prints an error message to stderr and terminates the calling
process. Use min==max to request exactly so many arguments. As
a special value for max, oo is understood as positive infinity.
-d stores a (list of) default value(s) for option -opt. The parser
pretends these were found on the command line, if option -opt is
not given.
WARNING: The number of default values is not checked against the
minimum and maximum values given for -c.
-m declares that -opt is mandatory. Put another way, the ``option''
is not really optional but must show up on the command line. If
it does not, the parser prints an error message to stderr and
exits the calling process. This can not be used together with
-d.
PARSER RESULT
tcl
Within a Tcl-script, the parser will set the variable with name varname
in the stack-frame of its caller if and only if option -opt is found on
the command line or has a default value.
C
The structure returned by the parser contains the slots varnameP, var‐
name and varnameC. The slot varnameP will be set to a non-zero value,
if and only if the option -opt is found on the command line or has a
default value. Otherwise it will be 0. The slot varnameC will be set to
the number of arguments found for -opt. If the number of arguments for
-opt is allowed to be greater than 1, slot varname has type char**,
otherwise it has type char*.
SEE ALSOclig_Version(n), clig_Usage(n), clig_Float(n), clig(1), clig_Int(n),
clig_Commandline(n), clig_Long(n), clig_Flag(n), clig_Double(n),
clig_Name(n), clig_Rest(n), clig_Description(n), clig_parseCmdline(n)Kir 1.9.11.1 CLIG(1)