名稱空間變數

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
}