Tcl程式設計簡介(三)

2021-04-12 14:51:23 字數 2108 閱讀 9298

tcl程式設計簡介(三)

tcl 內建命令 內建的命令

tcl提供了下面描述的內建函式。

.其中: ... 表示引數不定具體有:

將那一大堆value附加到varname後面。如果變數不存在,會新建乙個。

例子: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

case string

分支跳轉。

例如:case abc in default a*

return 3.

case a in

default

a*

} returns 1.

case xyz

default

a* }

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 }

return `a b c d e f "

continue

結束該次迴圈並繼續迴圈。

eof fileid

如fileid以結束 返回1,反之返回 0。

Tcl程式設計簡介(一)

tcl程式設計簡介 一 簡介tcl是一種很通用的指令碼語言,它幾乎在所有的平台上都可以解釋執行,功能強大。是tool command language的縮寫,發音為 tickle 實際上包含了兩個部分 乙個語言和乙個庫。首先,tcl是一種簡單的指令碼語言,主要使用於發布命令給一 些互交程式如文字編輯...

tcl語言簡介1

tcl簡介 一 tcl 語法 tcl 語法 tcl是一種很通用的指令碼語言,它幾乎在所有的平台上都可以釋執行,其強大的功能和簡單精妙的語法會使你感到由衷的喜悅,這片文章對 tcl有很好的描述和說明。極具可讀性,我並不是原封不動的翻譯而是加上了一些自己的體會和例子,如有錯誤請指正。如果你看起來很吃力,...

用TCL語言進行socket程式設計

昨天還在說tcl語言非常不著調,今天卻突然有種頓悟的感覺.稍後再寫一下對tcl語言的其它想法,現在先寫寫基本的socket程式設計示例.下面的例子是除錯成功的,有興趣的朋友直接可以照做即可 server.tcl set listensocket socket server accept 2540 p...