DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

Tcl_ExprLongObj(3tcl)




Tcl_ExprLongObj(3)   Tcl Library Procedures    Tcl_ExprLongObj(3)

_________________________________________________________________


NAME

     Tcl_ExprLongObj,   Tcl_ExprDoubleObj,    Tcl_ExprBooleanObj,
     Tcl_ExprObj - evaluate an expression


SYNOPSIS

     #include <tcl.h>

     int
     Tcl_ExprLongObj(interp, objPtr, longPtr)

     int
     Tcl_ExprDoubleObj(interp, objPtr, doublePtr)

     int
     Tcl_ExprBooleanObj(interp, objPtr, booleanPtr)

     int
     Tcl_ExprObj(interp, objPtr, resultPtrPtr)


ARGUMENTS

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

     Tcl_Obj *objPtr (in)                    Pointer to an object
                                             containing       the
                                             expression to evalu-
                                             ate.

     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 expres-
                                             sion.

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

     Tcl_Obj **resultPtrPtr (out)            Pointer to  location
                                             in  which to store a
                                             pointer    to    the
                                             object  that  is the

Tcl                     Last change: 8.0                        1

Tcl_ExprLongObj(3)   Tcl Library Procedures    Tcl_ExprLongObj(3)

                                             result    of     the
                                             expression.
_________________________________________________________________


DESCRIPTION

     These four procedures all evaluate an expression,  returning
     the  result  in one of four different forms.  The expression
     is given by the objPtr argument, and it can have any of  the
     forms accepted by the expr command.

     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 a
     message  describing  the  error  can  be   retrieved   using
     Tcl_GetObjResult.   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_ExprLongObj 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_ExprDoubleObj stores a floating-point  value  at  *doub-
     lePtr.   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_ExprBooleanObj   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.

     If Tcl_ExprObj successfully  evaluates  the  expression,  it
     stores   a   pointer   to  the  Tcl  object  containing  the
     expression's value at  *resultPtrPtr.   In  this  case,  the
     caller is responsible for calling Tcl_DecrRefCount to decre-
     ment the object's reference count when it is  finished  with
     the object.

Tcl                     Last change: 8.0                        2

Tcl_ExprLongObj(3)   Tcl Library Procedures    Tcl_ExprLongObj(3)


SEE ALSO

     Tcl_ExprLong,        Tcl_ExprDouble,        Tcl_ExprBoolean,
     Tcl_ExprString, Tcl_GetObjResult


KEYWORDS

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

Tcl                     Last change: 8.0                        3


Man(1) output converted with man2html