Tcl - 特殊變數



在 Tcl 中,我們將某些變數分類為特殊變數,它們具有預定義的用法/功能。特殊變數的列表如下所示。

序號 特殊變數及說明
1

argc

指命令列引數的數量。

2

argv

指包含命令列引數的列表。

3

argv0

指正在解釋的檔案的檔名,或我們用來呼叫指令碼的名稱。

4

env

用於表示環境變數的元素陣列。

5

errorCode

提供上次 Tcl 錯誤的錯誤程式碼。

6

errorInfo

提供上次 Tcl 錯誤的堆疊跟蹤。

7

tcl_interactive

分別透過將其設定為 1 和 0 來在互動模式和非互動模式之間切換。

8

tcl_library

用於設定標準 Tcl 庫的位置。

9

tcl_pkgPath

提供通常安裝包的目錄列表。

10

tcl_patchLevel

指 Tcl 直譯器的當前補丁級別。

11

tcl_platform

用於表示包含 byteOrder、machine、osVersion、platform 和 os 物件的元素陣列。

12

tcl_precision

指精度,即在將浮點數轉換為字串時要保留的位數。預設值為 12。

13

tcl_prompt1

指主提示符。

14

tcl_prompt2

指命令無效時的次要提示符。

15

tcl_rcFileName

提供使用者特定的啟動檔案。

16

tcl_traceCompile

用於控制位元組碼編譯的跟蹤。使用 0 表示無輸出,1 表示摘要,2 表示詳細輸出。

17

tcl_traceExec

用於控制位元組碼執行的跟蹤。使用 0 表示無輸出,1 表示摘要,2 表示詳細輸出。

18

tcl_version

返回 Tcl 直譯器的當前版本。

上述特殊變數對 Tcl 直譯器具有特殊含義。

使用 Tcl 特殊變數的示例

讓我們看一些特殊變數的示例。

Tcl 版本

#!/usr/bin/tclsh

puts $tcl_version

執行程式時,您將獲得如下所示的類似輸出:

8.6

Tcl 環境路徑

#!/usr/bin/tclsh

puts $env(PATH)

執行程式時,您將獲得如下所示的類似輸出:

/home/cg/root/GNUstep/Tools:/usr/GNUstep/Local/Tools:/usr/GNUstep/
System/Tools:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/webmaster/.local/bin:/
home/webmaster/bin:/usr/local/scriba/bin:/usr/local/smlnj/
bin:/usr/local/bin/std:/usr/local/bin/extra:/usr/local/fantom/bin:/usr/
local/dart/bin:/usr/bin:/usr/local/bin:/usr/local/sbin:/usr/sbin:/opt/mono/
bin:/opt/mono/lib/mono/4.5:/usr/local/bin:.:/usr/libexec/sdcc:/usr/local/
icon-v950/bin:/usr/local/mozart/bin:/opt/Pawn/bin:/opt/jdk1.7.0_75/bin:/
opt/jdk1.7.0_75/jre/bin:/opt/pash/Source/PashConsole/bin/Debug/

Tcl 包路徑

#!/usr/bin/tclsh

puts $tcl_pkgPath

執行程式時,您將獲得如下所示的類似輸出:

/usr/lib64/tcl8.6 /usr/share/tcl8.6 /usr/lib64/tk8.6 /usr/share/tk8.6

Tcl 庫

#!/usr/bin/tclsh

puts $tcl_library

執行程式時,您將獲得如下所示的類似輸出:

/usr/share/tcl8.6

Tcl 補丁級別

#!/usr/bin/tclsh

puts $tcl_patchLevel

執行程式時,您將獲得如下所示的類似輸出:

8.6.6

Tcl 精度

#!/usr/bin/tclsh

puts $tcl_precision

執行程式時,您將獲得如下所示的類似輸出:

0

Tcl 啟動檔案

#!/usr/bin/tclsh

puts $tcl_rcFileName

執行程式時,您將獲得如下所示的類似輸出:

~/.tclshrc
廣告
© . All rights reserved.