TCL[工具命令語言(Tool Command Language)]

TCL[工具命令語言(Tool Command Language)]
更多義項 ▼ 收起列表 ▲

Tcl, 工具命令語言(Tool Command Language)是一門有編程特徵的解釋語言,可在 Unix、Windows 和 Apple Macintosh 作業系統上跨平台運行。

語言簡介

TCL (最早稱為“工具命令語言”"Tool Command Language",,但是現在已經不是這個含義,不過我們仍然稱呼它為TCL)是一種 腳本語言。 由John Ousterhout創建。 TCL很好學,功能很強大。TCL經常被用於快速原型開發,腳本編程, GUI和測試等方面。TCL念作“踢叩” "tickle"。Tcl的特性包括:

* 任何東西都是一條命令,包括語法結構(for, if等)。

* 任何事物都可以重新定義和重載。

* 所有的數據類型都可以看作字元串。

* 語法規則相當簡單

* 提供事件驅動給Socket和檔案。基於時間或者用戶定義的事件也可以。

* 動態的域定義。

* 很容易用C, C++,或者Java擴展。

* 解釋語言,代碼能夠動態的改變。

* 完全的Unicode支持。

* 平台無關。Win32, UNIX, Mac上都可以跑。

* 和Windows的GUI緊密集成。 Tk

* 代碼緊湊,易於維護。

TCL本身不提供面向對象的支持。但是語言本身很容易擴展到支持面向對象。許多C語言擴展都提供面向對象能力,包括XOTcl, Incr Tcl等。另外SNIT擴展本身就是用TCL寫的。

語言擴展

使用最廣泛的TCL擴展是TK。 TK提供了各種OS平台下的圖形用戶界面GUI。連強大的Python語言都不單獨提供自己的GUI,而是提供接口適配到TK上。另一個流行的擴展包是Expect. Expect提供了通過終端自動執行命令的能力,例如(passwd, ftp, telnet等命令驅動的外殼).

另外一個TK的例子 (來自 A simple A/D clock) 它使用了定時器時間,3行就顯示了一個時鐘。

proc every {ms body} {eval $body; after $ms [info level 0]}

pack [label .clock -textvar time]

every 1000 {set ::time [clock format [clock sec] -format %H:%M:%S]} ;# RS

解釋:第一行定義了過程every, 每隔ms毫秒,就重新執行body代碼。第二行創建了標籤起內容由time變數決定。第3行中設定定時器,time變數從當前時間中每秒更新一次。

熱門詞條

聯絡我們