dwww Home | Manual pages | Find package

Tcl_ExprLong(3tcl)          Tcl Library Procedures          Tcl_ExprLong(3tcl)

______________________________________________________________________________

NAME
       Tcl_ExprLong,  Tcl_ExprDouble, Tcl_ExprBoolean, Tcl_ExprString - evalu-
       ate an expression

SYNOPSIS
       #include <tcl.h>

       int
       Tcl_ExprLong(interp, expr, longPtr)

       int
       Tcl_ExprDouble(interp, expr, doublePtr)

       int
       Tcl_ExprBoolean(interp, expr, booleanPtr)

       int
       Tcl_ExprString(interp, expr)

ARGUMENTS
       Tcl_Interp *interp (in)              Interpreter in  whose  context  to
                                            evaluate expr.

       const char *expr (in)                Expression to be evaluated.

       long *longPtr (out)                  Pointer  to  location  in which to
                                            store the integer value of the ex-
                                            pression.

       int *doublePtr (out)                 Pointer  to  location  in which to
                                            store the floating-point value  of
                                            the expression.

       int *booleanPtr (out)                Pointer  to  location  in which to
                                            store the 0/1 boolean value of the
                                            expression.
______________________________________________________________________________

DESCRIPTION
       These four procedures all evaluate the expression given by the expr ar-
       gument and return the result in one of four different forms.   The  ex-
       pression  can have any of the forms accepted by the expr command.  Note
       that these procedures have been largely  replaced  by  the  value-based
       procedures  Tcl_ExprLongObj, Tcl_ExprDoubleObj, Tcl_ExprBooleanObj, and
       Tcl_ExprObj.  Those value-based procedures evaluate an expression  held
       in  a  Tcl value instead of a string.  The value argument can retain an
       internal representation that is more efficient to execute.

       The interp argument refers to an interpreter used to evaluate  the  ex-
       pression (e.g. for variables and nested Tcl commands) and to return er-
       ror information.

       For all of these procedures the return value is a standard Tcl  result:
       TCL_OK  means  the expression was successfully evaluated, and TCL_ERROR
       means that an error  occurred  while  evaluating  the  expression.   If
       TCL_ERROR is returned then the interpreter's result will hold a message
       describing the error.  If an error occurs while executing a Tcl command
       embedded in the expression then that error will be returned.

       If the expression is successfully evaluated, then its value is returned
       in one of four forms, depending on which procedure is invoked.  Tcl_Ex-
       prLong stores an integer value at *longPtr.  If the expression's actual
       value is a floating-point number, then it is truncated to  an  integer.
       If  the expression's actual value is a non-numeric string then an error
       is returned.

       Tcl_ExprDouble stores a floating-point value at *doublePtr.  If the ex-
       pression's  actual  value  is  an integer, it is converted to floating-
       point.  If the expression's actual value is a non-numeric  string  then
       an error is returned.

       Tcl_ExprBoolean  stores a 0/1 integer value at *booleanPtr.  If the ex-
       pression's actual value is an integer or  floating-point  number,  then
       they  store 0 at *booleanPtr if the value was zero and 1 otherwise.  If
       the expression's actual value is a non-numeric string then it  must  be
       one  of the values accepted by Tcl_GetBoolean such as “yes” or “no”, or
       else an error occurs.

       Tcl_ExprString returns the value of the expression as a  string  stored
       in the interpreter's result.

SEE ALSO
       Tcl_ExprLongObj, Tcl_ExprDoubleObj, Tcl_ExprBooleanObj, Tcl_ExprObj

KEYWORDS
       boolean, double, evaluate, expression, integer, value, string

Tcl                                   7.0                   Tcl_ExprLong(3tcl)

Generated by dwww version 1.14 on Thu Jan 23 01:05:01 CET 2025.