Index of Section 3 Manual Pages

Interix / SUAExprLongObj.3Interix / SUA

Tcl_ExprLongObj(3)    Tcl Library Procedures   Tcl_ExprLongObj(3)



_________________________________________________________________

NAME
       Tcl_ExprLongObj,   Tcl_ExprDoubleObj,  Tcl_ExprBooleanObj,
       Tcl_ExprObj - evaluate an expression

SYNOPSIS
       #include 

       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 string or
                                               objPtr.

       Tcl_Obj      *objPtr          (in)      Pointer    to   an
                                               object  containing
                                               the  expression to
                                               evaluate.

       long         *longPtr         (out)     Pointer  to  loca-
                                               tion  in  which to
                                               store the  integer
                                               value    of    the
                                               expression.

       int          *doublePtr       (out)     Pointer  to  loca-
                                               tion  in  which to
                                               store  the  float-
                                               ing-point value of
                                               the expression.

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

       Tcl_Obj      **resultPtrPtr   (out)     Pointer  to  loca-
                                               tion  in  which to
                                               store a pointer to
                                               the object that is
                                               the result of  the
                                               expression.
_________________________________________________________________


DESCRIPTION
       These  four procedures all evaluate an expression, return-
       ing 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 eval-
       uate  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 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
       procedure  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 *dou-
       blePtr.  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 inte-
       ger  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  expres-
       sion's  value  at *resultPtrPtr.  In this case, the caller
       is responsible for calling Tcl_DecrRefCount  to  decrement
       the  object's reference count when it is finished with the
       object.


SEE ALSO
       Tcl_ExprLong,       Tcl_ExprDouble,       Tcl_ExprBoolean,
       Tcl_ExprString, Tcl_GetObjResult


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



Tcl                            8.0             Tcl_ExprLongObj(3)

Interix / SUAHosted at SUA Community for Interix, SUA and SFUInterix / SUA