Index of Section 3 Manual Pages

Interix / SUATcl_ExprBooleanObj.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 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