Provided by:
manpages-zh_1.5.1-1_all 
NAME
tclvars - Tcl 使用的變量
yz DESCRIPTION
Tcl 庫自動的建立和管理下列全局變量。除了下-
控M做說明的地方之外,對特定於應用的代碼和使用者,這些變量通常應當作為只讀的來對待。
env Tcl 把這蚥僆q維護為一蚍捸A它的元素是這-
荈i程的環境變量。讀取一茪葛彌N返回相應的環境變量的C設置這-
蚍晡漱@茪葛彌N蚹麍衈釭瑰藿疻僆q,如果它不存在則建立一-
虓s的。刪除 env 的一茪葛彌N刪除相應的環境變量。對 env
數組的變更將影響通過像 exec
這樣的命令傳遞給子進程的環境變量。如果刪除了整 env 數組,則
Tcl 將停止監視 env 訪問並且將不更新環境變量。
在 Windows 下,任何大小寫形式的環境變量 PATH 和 COMSPEC |
都被自動轉換成 大寫的。例如,PATH |
環境變量可以被作業系統導出為"path"、"Path"、"PaTh"、 等,這導- |
P其他簡單 Tcl 代碼必須支持釵h特殊的寫法。Tcl 繼承的所有其他 |
環境變量保持不變。
在 Macintosh 上,Tcl 把環境變量構造為非現存的全局環境變量。為
Tcl 建立的環境變量包括:
LOGIN 它持有 Macintosh 的 Chooser 名字。
USER 它也持有 Macintosh 的 Chooser 名字。
SYS_FOLDER
到系統目錄的路徑。
APPLE_M_FOLDER
到 Apple 選單目錄的路徑。
CP_FOLDER
到控制悸O目錄的路徑。
DESK_FOLDER
到桌悼媬的路徑。
EXT_FOLDER
到系統擴展目錄的路徑。
PREF_FOLDER
到偏好目錄的路徑。
PRINT_MON_FOLDER
到列印監控器目錄的路徑。
SHARED_TRASH_FOLDER
到網路垃圾箱目錄的路徑。
TRASH_FOLDER
到垃圾箱目錄的路徑。
START_UP_FOLDER
到啟動目錄的路徑。
HOME 到應用程式的預設目錄的路徑。
你還可以為 Macintosh 建立你自己的環境變量。叫做 Tcl Environment
Variables 的一蚗仵衒N被放置到 Mac
系統檔案夾中的偏好檔案夾中。這蚗仵蚺云漕C行的形式都是
VAR_NAME=var_data。
最後的選擇是把環境變量放置到這蚗野峈漸s做 Tcl Environment
Variables 的一罛STR#'資源檔案中。這被認為是更像"Mac 式"而不是
一 Unix 式樣的環境變量檔案。`STR#'資源中每荓囓埵頂P上-
z相同的格式。源 代碼檔案 tclMacEnv.c 包含 env 機制的實現。這-
蚗仵蚰]含釵h #define ,它怳像你定制 env 機制來適合你的應用的需-
n。
errorCode
在發生了一蚇欞~之後,設置這-
蚥僆q為持有關於錯誤的補充信息,它的形式易於用程式處理。errorCode
由有一茤峖h茪葛尷漱@ Tcl 列表組成。這茼C表的第一-
茪葛擘陏捁欞~的一茪@般的類別,並決定列表餘下部分的格式。Tcl
核心為 errorCode 使用下列格式;荍O應用可以定義補充的格式。
ARITH code msg
在發生一蚨滼N錯誤的時唻洏帠o荇璁(例如,在 expr
命令中嘗試除以零)。Code 標識準確的錯誤而 msg 提供一-
茪H可嬝牧犒嚙欞~的描z。Code 將是下列之一:DIVZERO
(嘗試除以零)、DOMAIN (如果函數的一-
荌捊b它的作用域之外,比如 acos(-3))、IOVERFLOW
(整數溢出)、 OVERFLOW (浮點數溢出)、或 UNKNOWN
(如果不能確定錯誤的鴞])。
CHILDKILLED pid sigName msg
在子進程被一茷H號所終止的時唻洏帠o荇璁﹛CerrorCode
的第二茪葛嶼O這荈i程的標識符(十進制數)。第三茪葛擘陏挩-
P進程終止的信號的符號名字;它將是在檔案 signal.h
中包含的名字之一,比如 SIGPIPE。第四茪葛嶼O一荋yz這-
茷H號的人可嬝牧熊u消息,比如對 SIGPIPE是"write on pipe
with no readers"。
CHILDSTATUS pid code
在子進程以非零狀態退出的時唻洏帠o荇璁﹛CerrorCode 的第二-
茪葛嶼O這荈i程的標識符(十進制數),而第三茪葛嶼O這-
荈i程返回的退出代碼(也是十進制數)。
CHILDSUSP pid sigName msg
在子進程被一茷H號所掛起的時唻洏帠o荇璁﹛CerrorCode
的第二茪葛嶼O這荈i程的標識符,是一茪Q進制數。第三-
茪葛擭挩丮進程掛起的信號的符號名字;它將是在檔案signal.h
中包含的名字之一,比如 SIGTTIN。 第四茪葛嶼O一荋yz這-
茷H號的人可嬝牧熊u消息,比如對 SIGTTIN 是"background tty
read"。
NONE 對除了返回錯誤消息之外沒有其他可獲得的補充信息的錯誤使用這-
荇璁﹛C在這種情況下 errorCode 將由只有一茬璊@元素的一-
茼C表組成,這茪葛尷漱漁e是 NONE。
POSIX errName msg
如果 errorCode 的第一茪葛嶼O POSIX,則錯誤發生在一 POSIX
核心調用期間。這茼C表的第二-
茪葛彌N包含發生的錯誤的符號名字,比如
ENOENT;它將是在包含檔案 errno.h 中定義的坐@。這-
茼C表的第三茪葛嶼O對應於 errName 的一-
茪H可嬝牧漁灡均A比如對 ENOENT 是"no such file or
directory"。
n設置 errorCode,應用應當使用庫過程比如 Tcl_SetErrorCode 和
Tcl_PosixError,或者調用 error 命令。如果使用了這些方法之一,則
Tcl 解釋器將在下蚇欞~之後姜m這蚥僆q為 NONE。
errorInfo
在一蚇欞~發生之後,這-
茼r符串將包含標識在最新近的錯誤發生時正在執行的 Tcl
命令和過程的一行或多行。它的內容使用棧跟蹤的形式,展示在錯誤發生時調用的各-
荋O套的 Tcl 命令。
tcl_library
這蚥僆q持有包含系統 Tcl 稿本庫的一-
茈媬的名字,比如用於自動裝載的那些目錄。info library
命令返回這蚥僆q的C關於 Tcl 稿本庫的詳情請參見 library
手冊條目。 除了 Tcl 稿本庫之外,每-
蚗野峏峊]通常都有它自己的特定於應用的稿本庫;每-
蚗野帠雩茬]置名字像 $app_library 這樣的一茈局變量(這裏的 app
是這蚗野峈漲W字)來持有這-
蚗野峈漁w目錄的網路檔案名字。在建立解釋器的時-
唌A通過查找釵h不同目錄直到找到包含一蚞A當的 Tcl
啟動稿本的目錄,來設置 tcl_library 的最初的C如果 TCL_LIBRARY
環境變量存在,則漸訪問它指名的目錄。如果 TCL_LIBRARY
未被設置或不參照一蚞A當的目錄,則 Tcl
檢查基於在其中編譯(compiled-
in)的預設位置的其他一些目錄、包含應用的二進制檔案的位置、和當前工作目錄。
tcl_patchLevel
在建立解釋器的時 Tcl 初始化這蚥僆q來持有給出當前的 Tcl
補丁級別的一茼r符串,比如 7.3p2 是Tcl 7.3 的第二次官方補丁,而
7.4b4 是 Tcl 7.4 的第四次 beta 發佈。info patchlevel
命令返回這蚧。
tcl_pkgPath ||
這蚥僆q持有一茈媬的列表,它一般指示把包安裝到裏。在 Windows |
上不使 用它。它典型的包含一茤峔瑧條目;如果它包含兩荓囓堙A第一- |
茬q常是依賴於 孕x的包的目錄(例如,共享庫的二進制檔案)而第二- |
茬q常是孕x無關的包的目錄 (例如,稿本檔案)。典型的把包安裝為在 |
$tcl_pkgPath 中的一荓囓堛 一茪l目錄。在 $tcl_pkgPath |
中的目錄預設的包含在 auto_path 變量中,所以 package require |
命令期間自動的在它怍M它怐漯蔣竣l目 錄中查找包。注意: 不希望應用- |
蚹 tcl_pkgPath。在啟動時它的Q添加 到 auto_path;對 |
tcl_pkgPath 的變動不會反映到 auto_path 中。如果你想讓 Tcl |
來在額外的目錄中查找包,你應該把這 些目錄的名字添加到 |
auto_path,而不是 tcl_pkgPath。
tcl_platform
這是一蚚鶬p數組,它的元素包含關於應用在其上運行的-
台的信息,比如作業系統的名字、它的當前發行號、和機器的指令集。總是定義下列元素,但是如果
Tcl 不能檢索到任何有關的信息,則它怐-
N是空串。除此之外,擴展和應用可以向這蚍梐K加補充的-
C預先定義的元素是:
byteOrder ||
這蚞鷑鼓漸誚a字節序: littleEndian 或 bigEndian。
debug 如果這蚥僆q存在,則編譯解釋器時啟用了調試符號。只在
Windows 上存在這蚥僆q,擴展作者可以依賴於所裝載的 C
運行時庫來指定裝載茈]。
machine
這蚞鷑僭鶡瑼澈令集,比如 intel、PPC、68k、或sun4m。在
UNIX 機器上,用 uname -m 返回這蚧。
os 在這蚞鷑馱W運行的作業系統的名字,比如 Windows 95、Windows
NT、MacOS、或 SunOS。 在 UNIX 機器上,用 uname -s 返回這-
蚧。在 Windows 95 和 Windows 98 上,返回的N是 Windows
95 來提供更好的對 Windows 95 的反向相容;-
n區別二者,請檢查 osVersion。
osVersion
在這蚞鷑馱W運行的作業系統的版本號。在 UNIX 機器上,用
uname -r 返回這蚧。在 Windows 95 上,版本將是 4.0;在
Windows 98 上,版本將是 4.10。
platform
windows、macintosh、或 unix 之一。它表示這-
蚞鷑鼓漱@般操作環境。
threaded
如果這蚥僆q存在,則編譯這虒挭擰僥伀狴峇F線程。
user 它基於在孕x上獲得的登入信息標識當前使用者。在 Unix 它源自
USER 或 LOGNAME 環境變量,在 Windows 和 Macintosh 上源自
GetUserName。
tcl_precision
這蚥僆q在把浮點數轉換成字符串時控制生成的數字的數目。它預設的是 |
12。對於 IEEE 浮點數 17 位數字是"最佳的",這樣允麻戇諞- |
b二進制和字符串之間來回轉換而不丟失信息。但是,使用 17 |
位數字將禁止任何舍入,這將生成更長,而更不直觀的C例如,expr |
1.4 在設置 tcl_precision 為 17 時返回 |
1.3999999999999999,而在設置 tcl_precision 為 12 時返回 1.4 。 |
在一荈i程中的所有解釋器共享一茬璊@的 tcl_precision : 在一- |
虒挭擰馱之幭雈曲N同樣影響所有其他解釋器。但是,不允釵w全解釋器- |
蚹鼣o蚥僆q。 |
tcl_rcFileName
在初始化期間使用這-
蚥僆q來指示特定於使用者的啟動檔案的名字。如果在特定於應用的初始化中設置了它,則
Tcl 啟動代碼將檢查這蚗仵蚻O否存在,並且如果它存在的話則 source
(載入)它。例如,對於 wish ,這蚥僆q被設置成給 Unix 的 ~/.wishrc
和給 Windows 的 ~/wishrc.tcl。
tcl_rcRsrcName
這蚥僆q只在 Macintosh 系統上使用。在初始化期間使用這-
蚥僆q來指示位於應用或擴展資源 fork 中的一荅S定於應用的 TEXT
資源的名字。如果特定於應用的初始化設置了它,則 Tcl
啟動代碼將檢查資源是否存在,如果存在則 source
它。例如,Macintosh wish 應用設置這蚥僆q為 tclshrc。
tcl_traceCompile
設置這蚥僆q的-
荓惆謢b字節碼編譯期間顯示多少跟蹤信息。預設的,tcl_traceCompile
是零且不顯示信息。設置 tcl_traceCompile 為 1,在編譯一-
蚢L程或頂層命令的時啈b標準輸出上生成一行總結。設置它為
2,在標準輸出上詳細的列出在每次編譯期間散發(???
emit)的字節碼指令。在跟蹤懷疑是 Tcl
編譯器的問題時很有用。在把現存代碼轉換成 Tcl8.0 時也偶爾有用。
tcl_traceExec
設置這蚥僆q的-
荓惆謢b字節碼執行期間顯示多少跟蹤信息。預設的,tcl_traceExec
是零而不顯示信息。設置 tcl_traceExec 為 1,在每次調用一 Tcl
過程的時啈b標準輸出上生成一行跟蹤。設置它為
2,在用命令的名字和它的參數調用任何Tcl 命令的時-
唌A生成一行輸出。設置它為 3,生成一虒埴茠爾臕隉A展示每-
茼r節碼指令的執行結果。注意在 tcl_traceExec 是 2 或 3 的時-
唌A不展示像 set 和 incr 這樣已經被整荋懂型陘@-
茼r節碼指令序列的命令。在跟蹤懷疑是 Tcl
編譯器和解釋器的問題時很有用。在把現存代碼轉換成 Tcl8.0
時也偶爾有用。
tcl_wordchars
這蚥僆q的O一茈翰h表達式,設置它來控制認把什麼字符認為是"字"字
符。例如在 Tk 的文本框中用雙擊來選擇一茼r。它是孕x相關的。在
Windows 上,它預設為 \S,意思是除了 Unicode
空格字符之外的任何字符。其他 孕x上預設為 \w,它是任何 Unicode
字字符(數字、字母、下劃線)。
tcl_nonwordchars
這蚥僆q的O一茈翰h表達式,設置它來控制認把什麼字符認為是"非字"
字符。例如在 Tk 的文本框中用雙擊來選擇一茼r。它是孕x相關的。在
Windows 上,它預設為 \s,意思是任何 Unicode 空格字符。其他-
台上缺 省為 \W,它是除了 Unicode
字字符(數字、字母、下劃線)之外的任何字符 。
tcl_version
在建立解釋器的時唌ATcl 初始化這蚥僆q來持有這茠岩貌 Tcl
的版本號,形式是 x.y。對 x 的變更表示可能導-
P不相容的較大的變化,對 y 的變更表示保持反向相容的小增強和缺陷-
袉z,info tclversion 命令返回這蚥僆q的C
SEE ALSO
eval(n)
r KEYWORDS
arithmetic, bytecode, compiler, error, environment, POSIX, precision,
subprocess, variables
[]
Hhh
[]
2001/12/10
m Linux manUpn:
http://cmpp.linuxforum.net