名稱空間變數
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
}