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