Langue: en

Version: (ubuntu - 08/07/09)

Section: 7 (Divers)


::clig::Float - declare an option with parameters of type float


 package require clig
 namespace import ::clig::*
 setSpec db

Float -opt varname usage [-c min max] {[-d default ...] | [-m]} [-r rmin rmax]


The Float command declares -opt to have zero or more floating point arguments. The parameters variable and usage as well as the options -c, -d and -m are described in clig::String(n).

instructs the parser to check that arguments given to -opt are within the inclusive range between rmin and rmax. Special values for rmin and rmax are -oo and oo denoting negative and positive infinity thereby not constraining the parameters of -opt.

WARNING: The implementation of option -d is currently incomplete insofar, as the specified default values are not checked by clig, i.e. the following would go unnoticed:

-d 1.0 -r 500.0 600.0

In this case, if option is not on the command line, the clig parser will set variable varname for its caller to the out-of-range value 1.0. (Maybe this is a feature?)

Example use of Float:

 Float -p prob {list of probabilities adding up to one} \
     -r 0.0 1.0  -d 0.1 0.2 0.7 \
     -c 1 oo

Please note, that the additional constraint requiring the values summing to 1.0 cannot be checked by the parser.



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.


The structure returned by the parser contains the slots varnameP, varname 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 float*, otherwise it has type float.


clig(1), clig_Commandline(7), clig_Description(7), clig_Double(7), clig_Flag(7), clig_Int(7), clig_Long(7), clig_Name(7), clig_Rest(7), clig_String(7), clig_Usage(7), clig_Version(7), clig_parseCmdline(7)