Index of Section 3 Manual Pages

Interix / SUATcl_ExprBoolean.3Interix / SUA

Tcl_ExprLong(3)       Tcl Library Procedures      Tcl_ExprLong(3)



_________________________________________________________________

NAME
       Tcl_ExprLong,       Tcl_ExprDouble,       Tcl_ExprBoolean,
       Tcl_ExprString - evaluate an expression

SYNOPSIS
       #include 

       int
       Tcl_ExprLong(interp, string, longPtr)

       int
       Tcl_ExprDouble(interp, string, doublePtr)

       int
       Tcl_ExprBoolean(interp, string, booleanPtr)

       int
       Tcl_ExprString(interp, string)

ARGUMENTS
       Tcl_Interp   *interp       (in)      Interpreter in  whose
                                            context  to  evaluate
                                            string.               |

       CONST                                                      |
       char   *string       (in)                            |     |
                                            Expression    to   be
                                            evaluated.

       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.
_________________________________________________________________


DESCRIPTION
       These four procedures all evaluate the expression given by
       the string argument and return the result in one  of  four
       different forms.  The expression can have any of the forms
       accepted by the expr command.  Note that these  procedures
       have  been largely replaced by the object-based procedures
       Tcl_ExprLongObj,  Tcl_ExprDoubleObj,   Tcl_ExprBooleanObj,
       and  Tcl_ExprObj.   Those object-based procedures evaluate
       an expression held in a Tcl object instead  of  a  string.
       The  object argument can retain an internal representation
       that is more efficient to execute.

       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 the interpreter's result will hold a message describ-
       ing  the  error.  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_ExprLong  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_ExprDouble  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_ExprBoolean stores a 0/1 integer value at *booleanPtr.
       If the expression's actual value is an integer  or  float-
       ing-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.

       Tcl_ExprString  returns  the  value of the expression as a
       string stored in the interpreter's result.


SEE ALSO
       Tcl_ExprLongObj,  Tcl_ExprDoubleObj,   Tcl_ExprBooleanObj,
       Tcl_ExprObj


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



Tcl                            7.0                Tcl_ExprLong(3)

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