ExprLong.3
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:4k
- '"
- '" Copyright (c) 1989-1993 The Regents of the University of California.
- '" Copyright (c) 1994-1997 Sun Microsystems, Inc.
- '"
- '" See the file "license.terms" for information on usage and redistribution
- '" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
- '"
- '" RCS: @(#) $Id: ExprLong.3,v 1.6.2.1 2005/05/03 17:53:41 dgp Exp $
- '"
- .so man.macros
- .TH Tcl_ExprLong 3 7.0 Tcl "Tcl Library Procedures"
- .BS
- .SH NAME
- Tcl_ExprLong, Tcl_ExprDouble, Tcl_ExprBoolean, Tcl_ExprString - evaluate an expression
- .SH SYNOPSIS
- .nf
- fB#include <tcl.h>fR
- .sp
- int
- fBTcl_ExprLongfR(fIinterp, string, longPtrfR)
- .sp
- int
- fBTcl_ExprDoublefR(fIinterp, string, doublePtrfR)
- .sp
- int
- fBTcl_ExprBooleanfR(fIinterp, string, booleanPtrfR)
- .sp
- int
- fBTcl_ExprStringfR(fIinterp, stringfR)
- .SH ARGUMENTS
- .AS Tcl_Interp *booleanPtr
- .AP Tcl_Interp *interp in
- Interpreter in whose context to evaluate fIstringfR.
- .VS 8.4
- .AP "CONST char" *string in
- .VE
- Expression to be evaluated.
- .AP long *longPtr out
- Pointer to location in which to store the integer value of the
- expression.
- .AP int *doublePtr out
- Pointer to location in which to store the floating-point value of the
- expression.
- .AP int *booleanPtr out
- Pointer to location in which to store the 0/1 boolean value of the
- expression.
- .BE
- .SH DESCRIPTION
- .PP
- These four procedures all evaluate the expression
- given by the fIstringfR argument
- and return the result in one of four different forms.
- The expression can have any of the forms accepted by the fBexprfR command.
- Note that these procedures have been largely replaced by the
- object-based procedures fBTcl_ExprLongObjfR, fBTcl_ExprDoubleObjfR,
- fBTcl_ExprBooleanObjfR, and fBTcl_ExprObjfR.
- 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.
- .PP
- The fIinterpfR argument refers to an interpreter used to
- evaluate the expression (e.g. for variables and nested Tcl
- commands) and to return error information.
- .PP
- For all of these procedures the return value is a standard
- Tcl result: fBTCL_OKfR means the expression was successfully
- evaluated, and fBTCL_ERRORfR means that an error occurred while
- evaluating the expression.
- If fBTCL_ERRORfR is returned then
- the interpreter's 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.
- .PP
- If the expression is successfully evaluated, then its value is
- returned in one of four forms, depending on which procedure
- is invoked.
- fBTcl_ExprLongfR stores an integer value at fI*longPtrfR.
- 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.
- .PP
- fBTcl_ExprDoublefR stores a floating-point value at fI*doublePtrfR.
- 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.
- .PP
- fBTcl_ExprBooleanfR stores a 0/1 integer value at fI*booleanPtrfR.
- If the expression's actual value is an integer or floating-point
- number, then they store 0 at fI*booleanPtrfR 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 fBTcl_GetBooleanfR
- such as ``yes'' or ``no'', or else an error occurs.
- .PP
- fBTcl_ExprStringfR returns the value of the expression as a
- string stored in the interpreter's result.
- .SH "SEE ALSO"
- Tcl_ExprLongObj, Tcl_ExprDoubleObj, Tcl_ExprBooleanObj, Tcl_ExprObj
- .SH KEYWORDS
- boolean, double, evaluate, expression, integer, object, string