info - 返回關於 Tcl
直譯器狀態的資訊
info option ?
arg arg ...?
這個命令提供關於 Tcl
直譯器的各種內部資訊。合法的
option (可以是縮寫)有:
-
info args procname
- 返回一個列表,依次包含給過程procname
的引數們的名字。
Procname 必須是一個 Tcl
命令的名字。
-
info body procname
- 返回過程 procname
的過程體。 Procname
必須是一個Tcl
命令的名字。
- info cmdcount
- 返回在這個直譯器中已經被呼叫的命令的總數的統計。
-
info commands ?pattern?
- 如果未指定 pattern
,返回在當前名字空間中所有
Tcl
命令的名字的一個列表,包括用
C
寫成的內建命令和使用
proc命令定義的命令過程。如果指定了
pattern,只返回匹配
pattern
的那些名字。使用與
string
match相同的規則確定匹配。
pattern 可以是象 Foo::print*
這樣的一個限定的(qualified)名字。這樣,可以使用由
::分隔的名字空間的名字序列來指定一個特定的名字空間,並可以用匹配後面特定字元的模式來指定在這個名字空間中的一系列命令。如果是
pattern是一個限定的名字,命令名字的結果列表中的每個元素都被指定名字空間的名字所限定。
-
info complete command
- 如果 command
是一個完整的 Tcl
命令則返回
1,完整的意思是沒有不閉合的引號、花括號、方括號或陣列元素名,如果命令表現為不完整則返回
0。典型的,這個命令在面向行的輸入環境中被用來允許使用者鍵入分開(span)成多行的命令;如果命令不完整,指令碼可以延期求值,直到鍵入增補的行完成這個命令。
-
info default procname arg varname
-
Procname 必須是一個
Tcl 命令過程的名字而
arg
必須是給這個過程的一個引數的名字。如果
arg
沒有預設值則命令返回
0。否則它返回 1
並把這個預設值放置到變數
varname 中。
-
info exists varName
- 如果在當前上下文中存在叫
varName
的變數(可以是一個全域性變數或區域性變數),並已經透過給它一個值而被定義則返回
1,否則返回 0
-
info globals ?pattern?
- 如果未指定 pattern
,返回所有當前定義的全域性變數的名字的一個列表。全域性變數是在全域性名字空間中的變數。如果指定了
pattern ,只返回匹配
pattern
的那些名字。使用與
string match
相同的規則確定匹配。
- info hostname
- 返回在其上執行這個呼叫的那個計算機的名字。
-
info level ?number?
- 如果未指定
number,這個命令返回給出呼叫過程的棧層次的一個數,如果在頂層呼叫這個名字則返回
0。如果指定了 number
,則結果是由在棧上
number
層呼叫的過程的名字和值組成的一個列表。如果
number
是正數則選擇的是一個特定的棧層次(1
參照最頂層活躍過程,2
是它呼叫的過程,以此類推);否則給出的是相對當前層次的一個相對層次(0
參照當前過程,-1
是它的呼叫者,以此類推)。關於棧層次的詳細資訊參見
uplevel 命令。
- info library
- 返回在其中儲存標準
Tcl
指令碼的庫目錄的名字。這實際上是
tcl_library
變數的值並可透過設定
tcl_library
來變更。詳情參見
tclvars 手冊條目。
-
info loaded ?interp?
- 返回描述用 load
命令裝載到 interp
中的所有包的一個列表。每個列表元素都是有兩元素的一個子列表,它們是從其中裝載包的檔案的名字和包的名字。對於靜態裝載包這個檔名字是一個空串。如果省略了
interp
則返回在程序中所有的直譯器中裝載的包的資訊。要得到當前直譯器中的包的一個列表,指定
interp引數為一個空串。
-
info locals ?pattern?
- 如果未指定
pattern,返回所有當前定義的區域性變數名字的一個列表,包括給當前過程的引數。
用 global 和
upvar命令定義的引數將不返回。如果指定了
pattern ,只返回匹配
pattern
的那些名字。使用與
string match
相同的規則確定匹配。
- info nameofexecutable
- 返回完整的二進位制檔案的路徑名,從這個檔案中呼叫了應用(程式)。如果Tcl
不能標識這個檔案,則返回一個空串。
- info patchlevel
- 返回全域性變數
tcl_patchLevel
的值;詳情參見
tclvars 手冊條目。
-
info procs ?pattern?
- 如果未指定 pattern
,返回在當前的名字空間中的所有
Tcl
命令過程的名字的一個列表。如果指定了
pattern,在返回在當前名字空間中匹配
pattern
的過程名字。使用與
string match
相同的規則確定匹配。
- info script
- 如果當前正在求值一個
Tcl
指令碼檔案(例如,有一個
Tcl_EvalFile
呼叫處於活躍或有一個對
source
命令的活躍呼叫),則這個命令返回被處理的最內部(innermost)檔案的名字。否則這個命令返回一個空串。
- info sharedlibextension
- 返回在這個平臺上包含共享庫的檔案使用的副檔名(例如,在Solaris
下是
.so)。如果在這個平臺上不支援共享庫則返回一個空串。
- info tclversion
- 返回全域性變數
tcl_version
的值;詳情參見
tclvars手冊條目。
-
info vars ?pattern?
- 如果未指定
pattern,則返回所有當前可見的變數的名字的一個列表。包括區域性變數和當前可見的全域性變數。如果指定了
pattern,只返回匹配
pattern
的那些名字。使用與
string match
相同的規則確定匹配。
pattern 可以是象 Foo::print*
這樣的一個限定的(qualified)名字。這樣,可以使用由
::
分隔的名字空間的名字序列來指定一個特定的名字空間,並可以用匹配後面特定字元的模式來指定在這個名字空間中的一系列命令。如果是
pattern是一個限定的名字,命令名字的結果列表中的每個元素都被指定名字空間的名字所限定。
command, information, interpreter, level, namespace, procedure, variable
寒蟬退士
2001/09/28
http://cmpp.linuxforum.net
本頁面中文版由中文 man
手冊頁計劃提供。
中文 man 手冊頁計劃:
https://github.com/man-pages-zh/manpages-zh