Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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 a  value  containing
					       the expression to evaluate.

       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.

       Tcl_Obj **resultPtrPtr (out)	       Pointer to location in which to
					       store a pointer	to  the	 value
					       that  is	 the result of the ex-
					       pression.
______________________________________________________________________________

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  com-
       mand.

       The  interp  argument refers to an interpreter used to evaluate the ex-
       pression	(e.g. for variables and	nested Tcl commands) and to return er-
       ror 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 re-
       trieved using Tcl_GetObjResult.	If an error occurs while  executing  a
       Tcl  command  embedded  in  the	expression then	that error will	be re-
       turned.

       If the expression is successfully evaluated, then its value is returned
       in one of four forms, depending on which	procedure is invoked.  Tcl_Ex-
       prLongObj stores	an integer value at *longPtr.  If the expression's ac-
       tual value is a floating-point number, then it is truncated to an inte-
       ger.  If	the expression's actual	value is a non-numeric string then  an
       error is	returned.

       Tcl_ExprDoubleObj  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_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 value	containing the expression's value at *resultP-
       trPtr.  In this case, the caller	is responsible for  calling  Tcl_Decr-
       RefCount	 to  decrement the value's reference count when	it is finished
       with the	value.

SEE ALSO
       Tcl_ExprLong,	Tcl_ExprDouble,	   Tcl_ExprBoolean,    Tcl_ExprString,
       Tcl_GetObjResult

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

Tcl				      8.0		    Tcl_ExprLongObj(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=Tcl_ExprBooleanObj.tcl86&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help