manpagez: man pages & more
man Tcl_ExprLong(3)
Home | html | info | man
Tcl_ExprLong(3)             Tcl Library Procedures             Tcl_ExprLong(3)




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

       Interpreter in whose context to evaluate expr.  Expression to be evalu-
       ated.   Pointer  to location in which to store the integer value of the
       expression.  Pointer to location in which to store  the  floating-point
       value of the expression.  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
       argument  and  return  the  result in one of four different forms.  The
       expression can have any of the forms  accepted  by  the  expr  command.
       Note  that  these  procedures have been largely replaced by the object-
       based   procedures   Tcl_ExprLongObj,   Tcl_ExprDoubleObj,    Tcl_Expr-
       BooleanObj, and Tcl_ExprObj.  Those object-based procedures evaluate an
       expression held in a Tcl object instead of a string.  The object  argu-
       ment  can  retain  an internal representation that is more efficient to
       execute.

       The interp argument refers to  an  interpreter  used  to  evaluate  the
       expression  (e.g.  for variables and nested Tcl commands) and to return
       error 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_ExprLong  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
       expression'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
       expression'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 or 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(3), Tcl_ExprDoubleObj(3), Tcl_ExprBooleanObj(3),
       Tcl_ExprObj(3)



KEYWORDS

       boolean, double, evaluate, expression, integer, object, string



Tcl                                   7.0                      Tcl_ExprLong(3)

ExprLong 8.5.4 - Generated Mon Aug 18 20:31:51 CDT 2008
© manpagez.com 2000-2024
Individual documents may contain additional copyright information.