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

通讯编程

开发平台:

Visual C++

  1. '"
  2. '" Copyright (c) 1993 The Regents of the University of California.
  3. '" Copyright (c) 1994-1997 Sun Microsystems, Inc.
  4. '" Copyright (c) 1993-1997 Bell Labs Innovations for Lucent Technologies
  5. '" Copyright (c) 1998-2000 Ajuba Solutions
  6. '"
  7. '" See the file "license.terms" for information on usage and redistribution
  8. '" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  9. '" 
  10. '" RCS: @(#) $Id: info.n,v 1.8.2.3 2004/10/27 14:23:56 dkf Exp $
  11. '" 
  12. .so man.macros
  13. .TH info n 8.4 Tcl "Tcl Built-In Commands"
  14. .BS
  15. '" Note:  do not modify the .SH NAME line immediately below!
  16. .SH NAME
  17. info - Return information about the state of the Tcl interpreter
  18. .SH SYNOPSIS
  19. fBinfo fIoption fR?fIarg arg ...fR?
  20. .BE
  21. .SH DESCRIPTION
  22. .PP
  23. This command provides information about various internals of the Tcl
  24. interpreter.
  25. The legal fIoptionfR's (which may be abbreviated) are:
  26. .TP
  27. fBinfo args fIprocnamefR
  28. Returns a list containing the names of the arguments to procedure
  29. fIprocnamefR, in order.  fIProcnamefR must be the name of a
  30. Tcl command procedure.
  31. .TP
  32. fBinfo body fIprocnamefR
  33. Returns the body of procedure fIprocnamefR.  fIProcnamefR must be
  34. the name of a Tcl command procedure.
  35. .TP
  36. fBinfo cmdcountfR
  37. Returns a count of the total number of commands that have been invoked
  38. in this interpreter.
  39. .TP
  40. fBinfo commands fR?fIpatternfR?
  41. If fIpatternfR isn't specified,
  42. returns a list of names of all the Tcl commands in the current namespace,
  43. including both the built-in commands written in C and
  44. the command procedures defined using the fBprocfR command.
  45. If fIpatternfR is specified,
  46. only those names matching fIpatternfR are returned.
  47. Matching is determined using the same rules as for fBstring matchfR.
  48. fIpatternfR can be a qualified name like fBFoo::print*fR.
  49. That is, it may specify a particular namespace
  50. using a sequence of namespace names separated by double colons (fB::fR),
  51. and may have pattern matching special characters
  52. at the end to specify a set of commands in that namespace.
  53. If fIpatternfR is a qualified name,
  54. the resulting list of command names has each one qualified with the name
  55. of the specified namespace.
  56. .TP
  57. fBinfo complete fIcommandfR
  58. Returns 1 if fIcommandfR is a complete Tcl command in the sense of
  59. having no unclosed quotes, braces, brackets or array element names.
  60. If the command doesn't appear to be complete then 0 is returned.
  61. This command is typically used in line-oriented input environments
  62. to allow users to type in commands that span multiple lines;  if the
  63. command isn't complete, the script can delay evaluating it until additional
  64. lines have been typed to complete the command.
  65. .TP
  66. fBinfo default fIprocname arg varnamefR
  67. fIProcnamefR must be the name of a Tcl command procedure and fIargfR
  68. must be the name of an argument to that procedure.  If fIargfR
  69. doesn't have a default value then the command returns fB0fR.
  70. Otherwise it returns fB1fR and places the default value of fIargfR
  71. into variable fIvarnamefR.
  72. .TP
  73. fBinfo exists fIvarNamefR
  74. Returns fB1fR if the variable named fIvarNamefR exists in the
  75. current context (either as a global or local variable) and has been
  76. defined by being given a value, returns fB0fR otherwise.
  77. .VS 8.4
  78. .TP
  79. fBinfo functions fR?fIpatternfR?
  80. If fIpatternfR isn't specified, returns a list of all the math
  81. functions currently defined.
  82. If fIpatternfR is specified, only those functions whose name matches
  83. fIpatternfR are returned.  Matching is determined using the same
  84. rules as for fBstring matchfR.
  85. .VE
  86. .TP
  87. fBinfo globals fR?fIpatternfR?
  88. If fIpatternfR isn't specified, returns a list of all the names
  89. of currently-defined global variables.
  90. Global variables are variables in the global namespace.
  91. If fIpatternfR is specified, only those names matching fIpatternfR
  92. are returned.  Matching is determined using the same rules as for
  93. fBstring matchfR.
  94. .TP
  95. fBinfo hostnamefR
  96. Returns the name of the computer on which this invocation is being
  97. executed.
  98. .VS
  99. Note that this name is not guaranteed to be the fully qualified domain
  100. name of the host.  Where machines have several different names (as is
  101. common on systems with both TCP/IP (DNS) and NetBIOS-based networking
  102. installed,) it is the name that is suitable for TCP/IP networking that
  103. is returned.
  104. .VE
  105. .TP
  106. fBinfo levelfR ?fInumberfR?
  107. If fInumberfR is not specified, this command returns a number
  108. giving the stack level of the invoking procedure, or 0 if the
  109. command is invoked at top-level.  If fInumberfR is specified,
  110. then the result is a list consisting of the name and arguments for the
  111. procedure call at level fInumberfR on the stack.  If fInumberfR
  112. is positive then it selects a particular stack level (1 refers
  113. to the top-most active procedure, 2 to the procedure it called, and
  114. so on); otherwise it gives a level relative to the current level
  115. (0 refers to the current procedure, -1 to its caller, and so on).
  116. See the fBuplevelfR command for more information on what stack
  117. levels mean.
  118. .TP
  119. fBinfo libraryfR
  120. Returns the name of the library directory in which standard Tcl
  121. scripts are stored.
  122. This is actually the value of the fBtcl_libraryfR
  123. variable and may be changed by setting fBtcl_libraryfR.
  124. See the fBtclvarsfR manual entry for more information.
  125. .TP
  126. fBinfo loaded fR?fIinterpfR?
  127. Returns a list describing all of the packages that have been loaded into
  128. fIinterpfR with the fBloadfR command.
  129. Each list element is a sub-list with two elements consisting of the
  130. name of the file from which the package was loaded and the name of
  131. the package.
  132. For statically-loaded packages the file name will be an empty string.
  133. If fIinterpfR is omitted then information is returned for all packages
  134. loaded in any interpreter in the process.
  135. To get a list of just the packages in the current interpreter, specify
  136. an empty string for the fIinterpfR argument.
  137. .TP
  138. fBinfo locals fR?fIpatternfR?
  139. If fIpatternfR isn't specified, returns a list of all the names
  140. of currently-defined local variables, including arguments to the
  141. current procedure, if any.
  142. Variables defined with the fBglobalfR, fBupvarfR  and
  143. fBvariablefR commands will not be returned.
  144. If fIpatternfR is specified, only those names matching fIpatternfR
  145. are returned.  Matching is determined using the same rules as for
  146. fBstring matchfR.
  147. .TP
  148. fBinfo nameofexecutablefR
  149. Returns the full path name of the binary file from which the application
  150. was invoked.  If Tcl was unable to identify the file, then an empty
  151. string is returned.
  152. .TP
  153. fBinfo patchlevelfR
  154. Returns the value of the global variable fBtcl_patchLevelfR; see
  155. the fBtclvarsfR manual entry for more information.
  156. .TP
  157. fBinfo procs fR?fIpatternfR?
  158. If fIpatternfR isn't specified, returns a list of all the
  159. names of Tcl command procedures in the current namespace.
  160. If fIpatternfR is specified,
  161. only those procedure names in the current namespace
  162. matching fIpatternfR are returned.
  163. Matching is determined using the same rules as for
  164. fBstring matchfR.
  165. If fIpatternfR contains any namespace separators, they are used to
  166. select a namespace relative to the current namespace (or relative to
  167. the global namespace if fIpatternfR starts with fB::fR) to match
  168. within; the matching pattern is taken to be the part after the last
  169. namespace separator.
  170. .TP
  171. fBinfo scriptfR ?fIfilenamefR?
  172. If a Tcl script file is currently being evaluated (i.e. there is a
  173. call to fBTcl_EvalFilefR active or there is an active invocation
  174. of the fBsourcefR command), then this command returns the name
  175. of the innermost file being processed.  If fIfilenamefR is specified,
  176. then the return value of this command will be modified for the
  177. duration of the active invocation to return that name.  This is
  178. useful in virtual file system applications.
  179. Otherwise the command returns an empty string.
  180. .TP
  181. fBinfo sharedlibextensionfR
  182. Returns the extension used on this platform for the names of files
  183. containing shared libraries (for example, fB.sofR under Solaris).
  184. If shared libraries aren't supported on this platform then an empty
  185. string is returned.
  186. .TP
  187. fBinfo tclversionfR
  188. Returns the value of the global variable fBtcl_versionfR; see
  189. the fBtclvarsfR manual entry for more information.
  190. .TP
  191. fBinfo varsfR ?fIpatternfR?
  192. If fIpatternfR isn't specified,
  193. returns a list of all the names of currently-visible variables.
  194. This includes locals and currently-visible globals.
  195. If fIpatternfR is specified, only those names matching fIpatternfR
  196. are returned.  Matching is determined using the same rules as for
  197. fBstring matchfR.
  198. fIpatternfR can be a qualified name like fBFoo::option*fR.
  199. That is, it may specify a particular namespace
  200. using a sequence of namespace names separated by double colons (fB::fR),
  201. and may have pattern matching special characters
  202. at the end to specify a set of variables in that namespace.
  203. If fIpatternfR is a qualified name,
  204. the resulting list of variable names
  205. has each matching namespace variable qualified with the name
  206. of its namespace.
  207. Note that a currently-visible variable may not yet "exist" if it has not
  208. been set (e.g. a variable declared but not set by fBvariablefR).
  209. .SH EXAMPLE
  210. This command prints out a procedure suitable for saving in a Tcl
  211. script:
  212. .CS
  213. proc printProc {procName} {
  214.     set result [list proc $procName]
  215.     set formals {}
  216.     foreach var [fBinfo argsfR $procName] {
  217.         if {[fBinfo defaultfR $procName $var def]} {
  218.             lappend formals [list $var $def]
  219.         } else {
  220.             # Still need the list-quoting because variable
  221.             # names may properly contain spaces.
  222.             lappend formals [list $var]
  223.         }
  224.     }
  225.     puts [lappend result $formals [fBinfo bodyfR $procName]]
  226. }
  227. .CE
  228. .SH "SEE ALSO"
  229. global(n), proc(n)
  230. .SH KEYWORDS
  231. command, information, interpreter, level, namespace, procedure, variable
  232. '" Local Variables:
  233. '" mode: nroff
  234. '" End: