DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

Tcl_ExprLong(3)




Tcl_ExprLong(3)      Tcl Library Procedures       Tcl_ExprLong(3)

_________________________________________________________________


NAME

     Tcl_ExprLong,        Tcl_ExprDouble,        Tcl_ExprBoolean,
     Tcl_ExprString - evaluate 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
                                          expression.

     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 argument and return the result in one of four dif-
     ferent 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                     Last change: 7.0                        1

Tcl_ExprLong(3)      Tcl Library Procedures       Tcl_ExprLong(3)

     Tcl_ExprLongObj,  Tcl_ExprDoubleObj, Tcl_ExprBooleanObj, and
     Tcl_ExprObj.   Those  object-based  procedures  evaluate  an
     expression  held  in  a Tcl object instead of a string.  The
     object argument can retain an internal  representation  that
     is more efficient to execute.

     The interp argument refers to an interpreter used to  evalu-
     ate  the  expression (e.g. for variables and nested Tcl com-
     mands) 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 pro-
     cedure 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 con-
     verted 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 "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,  object,
     string

Tcl                     Last change: 7.0                        2


Man(1) output converted with man2html