ExprLongObj.3
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:4k
源码类别:

通讯编程

开发平台:

Visual C++

  1. '"
  2. '" Copyright (c) 1996-1997 Sun Microsystems, Inc.
  3. '"
  4. '" See the file "license.terms" for information on usage and redistribution
  5. '" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  6. '" 
  7. '" RCS: @(#) $Id: ExprLongObj.3,v 1.3.12.1 2005/05/03 17:53:41 dgp Exp $
  8. '" 
  9. .so man.macros
  10. .TH Tcl_ExprLongObj 3 8.0 Tcl "Tcl Library Procedures"
  11. .BS
  12. .SH NAME
  13. Tcl_ExprLongObj, Tcl_ExprDoubleObj, Tcl_ExprBooleanObj, Tcl_ExprObj - evaluate an expression
  14. .SH SYNOPSIS
  15. .nf
  16. fB#include <tcl.h>fR
  17. .sp
  18. int
  19. fBTcl_ExprLongObjfR(fIinterp, objPtr, longPtrfR)
  20. .sp
  21. int
  22. fBTcl_ExprDoubleObjfR(fIinterp, objPtr, doublePtrfR)
  23. .sp
  24. int
  25. fBTcl_ExprBooleanObjfR(fIinterp, objPtr, booleanPtrfR)
  26. .sp
  27. int
  28. fBTcl_ExprObjfR(fIinterp, objPtr, resultPtrPtrfR)
  29. .SH ARGUMENTS
  30. .AS Tcl_Interp **resultPtrPtr out
  31. .AP Tcl_Interp *interp in
  32. Interpreter in whose context to evaluate fIobjPtrfR.
  33. .AP Tcl_Obj *objPtr in
  34. Pointer to an object containing the expression to evaluate.
  35. .AP long *longPtr out
  36. Pointer to location in which to store the integer value of the
  37. expression.
  38. .AP int *doublePtr out
  39. Pointer to location in which to store the floating-point value of the
  40. expression.
  41. .AP int *booleanPtr out
  42. Pointer to location in which to store the 0/1 boolean value of the
  43. expression.
  44. .AP Tcl_Obj **resultPtrPtr out
  45. Pointer to location in which to store a pointer to the object
  46. that is the result of the expression.
  47. .BE
  48. .SH DESCRIPTION
  49. .PP
  50. These four procedures all evaluate an expression, returning
  51. the result in one of four different forms.
  52. The expression is given by the fIobjPtrfR argument, and it
  53. can have any of the forms accepted by the fBexprfR command.
  54. .PP
  55. The fIinterpfR argument refers to an interpreter used to
  56. evaluate the expression (e.g. for variables and nested Tcl
  57. commands) and to return error information.
  58. .PP
  59. For all of these procedures the return value is a standard
  60. Tcl result: fBTCL_OKfR means the expression was successfully
  61. evaluated, and fBTCL_ERRORfR means that an error occurred while
  62. evaluating the expression.
  63. If fBTCL_ERRORfR is returned,
  64. then a message describing the error
  65. can be retrieved using fBTcl_GetObjResultfR.
  66. If an error occurs while executing a Tcl command embedded in
  67. the expression then that error will be returned.
  68. .PP
  69. If the expression is successfully evaluated, then its value is
  70. returned in one of four forms, depending on which procedure
  71. is invoked.
  72. fBTcl_ExprLongObjfR stores an integer value at fI*longPtrfR.
  73. If the expression's actual value is a floating-point number,
  74. then it is truncated to an integer.
  75. If the expression's actual value is a non-numeric string then
  76. an error is returned.
  77. .PP
  78. fBTcl_ExprDoubleObjfR stores a floating-point value at fI*doublePtrfR.
  79. If the expression's actual value is an integer, it is converted to
  80. floating-point.
  81. If the expression's actual value is a non-numeric string then
  82. an error is returned.
  83. .PP
  84. fBTcl_ExprBooleanObjfR stores a 0/1 integer value at fI*booleanPtrfR.
  85. If the expression's actual value is an integer or floating-point
  86. number, then they store 0 at fI*booleanPtrfR if
  87. the value was zero and 1 otherwise.
  88. If the expression's actual value is a non-numeric string then
  89. it must be one of the values accepted by fBTcl_GetBooleanfR
  90. such as ``yes'' or ``no'', or else an error occurs.
  91. .PP
  92. If fBTcl_ExprObjfR successfully evaluates the expression,
  93. it stores a pointer to the Tcl object
  94. containing the expression's value at fI*resultPtrPtrfR.
  95. In this case, the caller is responsible for calling
  96. fBTcl_DecrRefCountfR to decrement the object's reference count
  97. when it is finished with the object.
  98. .SH "SEE ALSO"
  99. Tcl_ExprLong, Tcl_ExprDouble, Tcl_ExprBoolean, Tcl_ExprString, Tcl_GetObjResult
  100. .SH KEYWORDS
  101. boolean, double, evaluate, expression, integer, object, string