TCL學習之info命令
這篇文章主要講一下info指令的相關用法。
1.info命令列表
該命令使用的匹配式規則和string match 一致,並且如果不適用匹配式,返回所有的項。
序號 | 命令 | 描述 |
1 | info commands ?pattern? | 返回匹配的命令列表 |
2 | info exists varName | 變數存在返回1,否則返回0 |
3 | info globals?pattern? | 返回全域性變數列表 |
4 | info locals? pattern? | 返回區域性變數列表 |
5 | info procs?pattern? | 返回過程列表 |
6 | info vars?pattern? | 返回變數列表 |
程式碼示例如下:
proc safeIncr {val {amt 1 }} {
upvar $val v
if {[info exists v]} {incr v $amt} else {
set v $amt}
}
if {[info procs safeIncr] == "safeIncr"} {
safeIncr a
}
puts "after calling safeIncr with a non existent variable:$a"
set a 100
safeIncr a
puts "after calling safeIncr with a non existent variable of 100:$a"
safeIncr b -3
puts "after caliing safeIncr with a non existent variable by -3:$b"
set b 100
safeIncr b -3
puts "after calling safeIncr with a variable whose value is 100 by -3:$b"
puts "\n these variables have been defined:[lsort [info vars]]"
puts "\n these globals have been defined:[lsort [info globals]]"
執行結果如下:
2.檢查本地過程是否存在
#檢查本地過程是否存在
set exist [info procs localproc]
if {$exist == ""} {
puts "\nlocalproc does not exist at point 1"
}
proc localproc {} {
global argv;
set loc1 1
set loc2 2
puts "\n Local variables accessible in the proc are:[lsort [info locals]]"
puts "\n Variables are accessible from the proc are:[lsort [info vars]]"
puts "\n global variables visible from the proc are:[lsort [info globals]]"
}
set exist [info procs localproc]
if {$exist !=""} {
puts "localproc does exist at point 2"
}
localproc;
執行結果:
3.關於當前直譯器狀態資訊命令列表
序號 | 命令 | 描述 |
1 | info cmdcount | 返回直譯器已經執行的命令數量 |
2 | info level?number? | 返回相應棧級別的過程的名字和數量 |
3 | info patchlevel | 返回全域性變數直譯器補丁版本和修訂號tcl_patchlevel的值 |
4 | info tclversion | 返回全域性變數直譯器版本tcl_version |
5 | info script | 返回當前指令碼的名字 |
6 | pid | 返回當前直譯器程式id |
puts "this is how many commands have been executed:\n[info cmdcount]"
puts "\nthis interpreter is revision level:[info tclversion]"
puts "this interpreter is at patch level:[info patchlevel]"
puts "\nthe temporary script executing now is called:[info script]"
puts "the pid for this program is [pid]"
執行結果;
4.過程資訊
關於過程資訊的命令主要有3個
a. info args procname 返回一個過程的引數列表
b info body procname 返回一個過程的內容
c info default procname arg varName 如果一個過程的某個引數設定了預設值則返回1,否則返回0
示例如下;
proc demo {arguement1 {default "defaultvalue"}} {
puts "this is a demo proc.it is being called with $arguement1 and $default"
}
puts "the args for demo are:[info args demo]\n"
puts "the body for demo is:[info body demo]\n"
set arglist [info args demo]
foreach arg $arglist {
if {[info default demo $arg defaultval]} {
puts "$arg has a default value of $defaultval"} else {
puts "$arg has no default"
}
}
執行結果如下:
相關文章
- TCL - info命令
- Redis命令參考之INFO命令詳解Redis
- TCL命令
- Metasploit命令info使用技巧
- Git 學習之命令詳解Git
- 【學習】SQL基礎-011-TCLSQL
- TCL: LIST命令-lsearch, lsort, lrange
- Hive學習之常用互動命令Hive
- redis命令之-script指令碼學習Redis指令碼
- 學習tcl的幾個好網路連線
- MongoDB 學習筆記之常用 shell 命令MongoDB筆記
- MySQL學習筆記之命令總結MySql筆記
- redis info命令詳細說明Redis
- Linux學習之iostat命令詳解LinuxiOS
- Linux基本命令學習之六:tarLinux
- Mahout學習之命令列建立序列檔案命令列
- 【AIX 命令學習】mkvg 命令AI
- TCL指令碼讀取命令列引數指令碼命令列
- ClickHouse學習系列之七【系統命令介紹】
- asmcmd命令學習ASM
- nohup命令學習
- AIX 命令學習AI
- Redis4.0 info命令彙總詳解Redis
- 【AIX 命令學習】migratepv 命令AI
- Tcl/Tk 命令與C/C++的整合研究C++
- Linux學習之linux的find命令如何使用?Linux
- Linux基本命令學習之四:文字檢視Linux
- Linux基本命令學習之五:bash 變數Linux變數
- Redis使用指南:深度解析info命令實踐!Redis
- Shell學習【test命令】
- dos命令的學習
- Linux 命令學習Linux
- virsh命令學習(一)
- 【AIX 命令學習】errpt 命令示例!AI
- Linux學習之檔案處理命令(一) 目錄處理命令lsLinux
- 前端學習之Bootstrap學習前端boot
- 學而習之,成就學習
- jmeter學習指南之非GUI命令列執行詳解JMeterGUI命令列