| Tcl 內建命令 內建的命令 Tcl提供了下面描述的內建函數。 .其中: ... 表示參數不定具體有: append命令: append varName value append varName value value value ... 將那一大堆value附加到varName後面。如果變數不存在,會建立一個。 例子: set i "aaa" append i "bbb" "ccc" //i = aaabbbccc array命令: array subcommand arrayName array subcommand arrayName arg ... 這是一組用於向量操作的命令。第二個參數是子命令名。 假設: set a(1) 1111 set a(2) 2222 set a(three) 3333 一下均以它為例子(tclsh在中運行)。 array names arrayName 返回一個數組元素名字的列表。 tclsh>array names a 1 2 three array size arrayName 返回數組的元素個數。 tclsh>array size a 3 下面是用於遍曆的命令 arrry startsearch arrayName 初始化一次遍曆,返回一個遍曆標示(searchId)在下面的命令是中使用。 array nextelement arrayName searchId 返回下一個數組中的元素。如果沒有返回一個空串。 array anymore arrayName searchId 返回 1 表示還有更多的元素。0 表示沒有了。 array donesearch arrayName searchId 結束該次遍曆。 array nextelement arrayName searchId 返回下一個元素。 tclsh>array startsearch a s-1-a tclsh>array nextelement a s-1-a 1111 tclsh>array nextelement a s-1-a 2222 tclsh>array anymore a s-1-a 1 tclsh?array nextelement a s-1-a 3333 tclsh>array donesearch a s-1-a 注意可以同時並發多個遍曆。 break命令 break 跳出最近的迴圈。 case string in patList body ... case string patList body ... case string in {patList body ...} case string {patList body ...} 分支跳轉。 例如: case abc in {a b} {puts 1} default {puts 2} a* {puts 3} return 3. case a in { {a b} {format 1} default {format 2} a* {format 3} } returns 1. case xyz { {a b} {format 1} default {format 2} a* {format 3} } returns 2. 注意default不可以放在第一位。支援shell檔案名稱風格的匹配符。 catch 命令 catch command varName 用於阻止由於錯誤而導致中斷執行。執行command, 每次都返回TCL_OK, 無論是否有錯誤發生。如有錯誤發生返回1 ,反之返回0 。如果給了varName這被置為錯誤資訊。注意varName是已經存在的變數。 cd 命令(如shell) cd dirName 轉換當前工作目錄。如dirName未給出則轉入home目錄。 close fileId 關閉檔案描述符。 concat arg ... 將參數串連產生一個表。 concat a b {c d e} {f {g h}} return `a b c d e f {g h}" continue 結束該次迴圈並繼續迴圈。 eof fileId 如fileId以結束 返回1,反之返回 0。 |