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 an object 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	object
					       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 object containing the	 expression's  value  at  *re-
       sultPtrPtr.   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)

NAME | SYNOPSIS | ARGUMENTS | DESCRIPTION | SEE ALSO | KEYWORDS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Tcl_ExprBooleanObj.tcl85&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help