variable(3tcl) | Tcl Built-In Commands | variable(3tcl) |
variable - 建立并初始化一个名字空间变量
variable ?name value...? name ?value?
通常在 namespace eval 命令中使用这个命令在一个名字空间中建立一个或多个变量。每个变量 name 都被初始化为 value。给最后一个变量的值是可选的。
如果一个变量 name 不存在,则建立它。在这种情况下,如果指定了 value ,它被分配为一个新建的变量。如果未指定 value,则保持新变量为未定义。如果变量已经存在,若指定了 value 则把它设置为 value ,若未给出 value 则保持不变。通常的,name 是未被限定的(不包含任何包容它的名字空间的名字),而变量建立在当前名字空间中。如果 name 包含任何名字空间限定符,则变量建立在指定的名字空间中。如果变量未被定义,它将对 namespace which 命令是可见的,但对 info exists 命令不是。
如果在一个 Tcl 过程中执行 variable 命令,它建立连接到相应的名字空间变量的局部变量。在这种方式下 variable 命令类似于 global 命令,但 global 命令只连接到在全局名字空间中的变量。如果给出了任何 value,使用它们来修改相关的名字空间变量的值。如果一个名字空间变量不存在,则建立它并可选择的初始化它。
name 参数不能引用在数组中的一个元素。name 应该引用整个数组,并应当去掉初始化的 value 。在变量被声明之后,可以使用平常的 set 或 array 命令来设置数组中的元素。
global(n), namespace(n), upvar(n)
global, namespace, procedure, variable
寒蝉退士
2001/11/20
http://cmpp.linuxforum.net
本页面中文版由中文
man 手册页计划提供。
中文 man
手册页计划:https://github.com/man-pages-zh/manpages-zh
8.0 | Tcl |