TCL特殊變數


在TCL,我們劃分一些變數作為特殊變數,他們有一個預定義的用法/功能。特殊變數列表如下。

特殊變數 描述
argc 指命令列引數的個數。
argv 指包含命令列引數的列表。
argv0 是指被解釋的檔案或由呼叫指令碼的名稱的檔案名。
env 用於表示是環境變數陣列元素。
errorCode 為最後的Tcl錯誤的錯誤程式碼。
errorInfo 為最後Tcl錯誤的堆疊跟蹤資訊。
tcl_interactive 分別將其設定為1和0互動和非互動模式之間切換。
tcl_library 用於設定的標準Tcl庫的位置。
tcl_pkgPath 提供一般都安裝包的目錄列表。
tcl_patchLevel 指的是Tcl解釋目前的修補程式級別。
tcl_platform 用於表示使用物件,包括byteOrder, machine, osVersion平台和作業系統陣列元素。
tcl_precision 指的是精度,即位數轉換為浮點數時,字串保留。預設值是12。
tcl_prompt1 指的是主提示符。
tcl_prompt2 指無效的命令二次提示。
tcl_rcFileName 為使用者提供了具體的啟動檔案。
tcl_traceCompile 用於控制位元組碼編譯的跟蹤。用0表示無輸出,1為概要和2為詳細。
tcl_traceExec 用於控制執行的位元組碼的跟蹤。用0表示無輸出,1為概要和2為詳細。
tcl_version 返回Tcl直譯器的最新版本。

上述特殊變數都有各自的 Tcl 解釋特殊的含義。

使用Tcl的特殊變數的例子

讓我們來看看一些例子特殊變數。

Tcl 版本

#!/usr/bin/tclsh

puts $tcl_version

當執行程式,會得到一個類似的輸出,如下圖所示。

8.5

TCL環境路徑

#!/usr/bin/tclsh

puts $env(PATH)

當執行程式,會得到一個類似的輸出,如下圖所示。

/web/com/GNUstep/Tools:/usr/GNUstep/Local/Tools:/usr/GNUstep/System/Tools:/usr/local/sml/bin:/usr/local/flex/bin:/usr/local/gcc-4.8.1/bin:/usr/share/java:.:/usr/share/java:/usr/lib/jvm/java/lib:/usr/lib/jvm/java/jre/lib:/usr/local/bin:/usr/local/mozart/bin:/usr/local/go/bin:/usr/local/factor/:/usr/local/groovy-2.1.7/bin:/opt/Pawn/bin/:/usr/local/icon-v950/bin:/usr/local/lib/mono/4.0:/usr/lib64/qtC.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/Pawn/bin:/usr/local/dart/bin:/usr/local/julia/usr/bin:/usr/local/julia:/usr/local/scriptbasic/bin

TCL程式包路徑

#!/usr/bin/tclsh

puts $tcl_pkgPath

當執行程式,會得到一個類似的輸出,如下圖所示。

/usr/lib64/tcl8.5 /usr/share/tcl8.5 /usr/lib64/tk8.5 /usr/share/tk8.5 

TCL庫

#!/usr/bin/tclsh

puts $tcl_library

當執行程式,會得到一個類似的輸出,如下圖所示。

/usr/share/tcl8.5

TCL修補程式級別

#!/usr/bin/tclsh

puts $tcl_patchLevel

當執行程式,會得到一個類似的輸出,如下圖所示。

8.5.7

TCL精度

#!/usr/bin/tclsh

puts $tcl_precision

當執行程式,會得到一個類似的輸出,如下圖所示。

0

TCL啟動檔案

#!/usr/bin/tclsh

puts $tcl_rcFileName

當執行程式,會得到一個相似的輸出,如下圖所示。

~/.tclshrc