HPUX ExprLong[3]



ExprLong in anderen Kapiteln des hpux Handbuch:




 Tcl_ExprLong(3)                     Tcl                     Tcl_ExprLong(3)

 Tcl Library Procedures                               Tcl Library Procedures

                                     7.0



 ___________________________________________________________________________

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

 SYNOPSIS
      #include <tcl.h>

      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.

      char         *string       (in)      Expression to be evaluated.  Must
                                           be   in   writable   memory  (the
                                           expression parser makes temporary
                                           modifications   to   the   string
                                           during parsing, which  it  undoes
                                           before returning).

      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 an expression, returning the result
      in one of four different forms.  The expression is given by the string



                                    - 1 -        Formatted:  August 11, 1996






 Tcl_ExprLong(3)                     Tcl                     Tcl_ExprLong(3)

 Tcl Library Procedures                               Tcl Library Procedures

                                     7.0



      argument, and it can have any  of  the  forms  accepted  by  the  expr
      command.   The  interp  argument  refers  to  an  interpreter  used to
      evaluate the expression (e.g. for variables and nested  Tcl  commands)
      and  to  return  error  information.   Interp->result is assumed to be
      initialized in the standard fashion when any  of  the  procedures  are
      invoked.

      For all of these procedures the return value is a standard Tcl result:
      TCL_OK  means  the expression was succesfully evaluated, and TCL_ERROR
      means that an error occurred  while  evaluating  the  expression.   If
      TCL_ERROR   is  returned  then  interp->result  will  hold  a  message
      describing 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  *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_ExprBoolean stores a 0/1 integer value  at  *booleanPtr.   If  the
      expression's actual value is an integer or floating-point number, then
      Tcl_ExprBoolean stores 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  interp->result.   If  the  expression's actual value is an integer  |
      then Tcl_ExprString converts it to  a  string  using  sprintf  with  a  |
      ``%d''  converter.   If  the  expression's actual value is a floating-  |
      point number, then Tcl_ExprString calls Tcl_PrintDouble to convert  it  |
      to a string.                                                            |


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









                                    - 2 -        Formatted:  August 11, 1996