info(3tcl) Tcl Built-In Commands info(3tcl)

info - 返回关于 Tcl 解释器状态的信息

info option ?arg arg ...?

这个命令提供关于 Tcl 解释器的各种内部信息。合法的option (可以是缩写)有:
info args procname
返回一个列表,依次包含给过程procname 的参数们的名字。Procname 必须是一个 Tcl 命令的名字。
info body procname
返回过程 procname 的过程体。Procname 必须是一个Tcl 命令的名字。
info cmdcount
返回在这个解释器中已经被调用的命令的总数的统计。
info commands ?pattern?
如果未指定 pattern ,返回在当前名字空间中所有 Tcl 命令的名字的一个列表,包括用 C 写成的内置命令和使用 proc命令定义的命令过程。如果指定了 pattern,只返回匹配 pattern 的那些名字。使用与 string match相同的规则确定匹配。pattern 可以是象 Foo::print*这样的一个限定的(qualified)名字。这样,可以使用由 ::分隔的名字空间的名字序列来指定一个特定的名字空间,并可以用匹配后面特定字符的模式来指定在这个名字空间中的一系列命令。如果是 pattern是一个限定的名字,命令名字的结果列表中的每个元素都被指定名字空间的名字所限定。
info complete command
如果 command 是一个完整的 Tcl 命令则返回 1,完整的意思是没有不闭合的引号、花括号、方括号或数组元素名,如果命令表现为不完整则返回 0。典型的,这个命令在面向行的输入环境中被用来允许用户键入分开(span)成多行的命令;如果命令不完整,脚本可以延期求值,直到键入增补的行完成这个命令。
info default procname arg varname
Procname 必须是一个 Tcl 命令过程的名字而 arg 必须是给这个过程的一个参数的名字。如果 arg 没有缺省值则命令返回 0。否则它返回 1 并把这个缺省值放置到变量 varname 中。
info exists varName
如果在当前上下文中存在叫 varName 的变量(可以是一个全局变量或局部变量),并已经通过给它一个值而被定义则返回 1,否则返回 0
info globals ?pattern?
如果未指定 pattern ,返回所有当前定义的全局变量的名字的一个列表。全局变量是在全局名字空间中的变量。如果指定了 pattern ,只返回匹配 pattern 的那些名字。使用与 string match 相同的规则确定匹配。
info hostname
返回在其上执行这个调用的那个计算机的名字。
info level ?number?
如果未指定 number,这个命令返回给出调用过程的栈层次的一个数,如果在顶层调用这个名字则返回 0。如果指定了 number ,则结果是由在栈上 number 层调用的过程的名字和值组成的一个列表。如果 number 是正数则选择的是一个特定的栈层次(1 参照最顶层活跃过程,2 是它调用的过程,以此类推);否则给出的是相对当前层次的一个相对层次(0 参照当前过程,-1 是它的调用者,以此类推)。关于栈层次的详细信息参见 uplevel 命令。
info library
返回在其中存储标准 Tcl 脚本的库目录的名字。这实际上是 tcl_library 变量的值并可通过设置 tcl_library 来变更。详情参见 tclvars 手册条目。
info loaded ?interp?
返回描述用 load 命令装载到 interp 中的所有包的一个列表。每个列表元素都是有两元素的一个子列表,它们是从其中装载包的文件的名字和包的名字。对于静态装载包这个文件名字是一个空串。如果省略了 interp 则返回在进程中所有的解释器中装载的包的信息。要得到当前解释器中的包的一个列表,指定 interp参数为一个空串。
info locals ?pattern?
如果未指定 pattern,返回所有当前定义的局部变量名字的一个列表,包括给当前过程的参数。 用 globalupvar命令定义的参数将不返回。如果指定了 pattern ,只返回匹配 pattern 的那些名字。使用与 string match 相同的规则确定匹配。
info nameofexecutable
返回完整的二进制文件的路径名,从这个文件中调用了应用(程序)。如果Tcl 不能标识这个文件,则返回一个空串。
info patchlevel
返回全局变量 tcl_patchLevel的值;详情参见 tclvars 手册条目。
info procs ?pattern?
如果未指定 pattern ,返回在当前的名字空间中的所有 Tcl 命令过程的名字的一个列表。如果指定了 pattern,在返回在当前名字空间中匹配 pattern 的过程名字。使用与 string match 相同的规则确定匹配。
info script
如果当前正在求值一个 Tcl 脚本文件(例如,有一个 Tcl_EvalFile 调用处于活跃或有一个对 source 命令的活跃调用),则这个命令返回被处理的最内部(innermost)文件的名字。否则这个命令返回一个空串。
info sharedlibextension
返回在这个平台上包含共享库的文件使用的扩展名(例如,在Solaris 下是 .so)。如果在这个平台上不支持共享库则返回一个空串。
info tclversion
返回全局变量 tcl_version 的值;详情参见 tclvars手册条目。
info vars ?pattern?
如果未指定 pattern,则返回所有当前可见的变量的名字的一个列表。包括局部变量和当前可见的全局变量。如果指定了 pattern,只返回匹配 pattern 的那些名字。使用与 string match 相同的规则确定匹配。pattern 可以是象 Foo::print* 这样的一个限定的(qualified)名字。这样,可以使用由 :: 分隔的名字空间的名字序列来指定一个特定的名字空间,并可以用匹配后面特定字符的模式来指定在这个名字空间中的一系列命令。如果是 pattern是一个限定的名字,命令名字的结果列表中的每个元素都被指定名字空间的名字所限定。

command, information, interpreter, level, namespace, procedure, variable

寒蝉退士

2001/09/28

http://cmpp.linuxforum.net

本页面中文版由中文 man 手册页计划提供。
中文 man 手册页计划:https://github.com/man-pages-zh/manpages-zh
7.5 Tcl