命名空间变量

variable 命令确保创建给定的命名空间变量。在为其分配值之前,变量的值是未定义的:

namespace eval mynamespace {
    variable alpha
    set alpha 0
}

通过将命名空间的名称附加到命名空间,可以从命名空间外部(实际上从任何地方)访问该变量:

set ::mynamespace::alpha

通过再次使用 variable 命令可以在过程中简化访问:

proc ::mynamespace::myproc {} {
    variable alpha
    set alpha
}

这将为 namespace 变量创建一个本地别名。

对于在另一个名称空间中定义的过程,变量名称必须包含 variable 调用中的名称空间:

proc myproc {} {
    variable ::mynamespace::alpha
    set alpha
}