複製鏈接
請複製以下鏈接發送給好友

TCL

(工具命令語言)

鎖定
TCL全稱Tool Command Language是工具命令語言,是一門有編程特徵的解釋語言,可在Unix、Windows和Apple Macintosh操作系統上跨平台運行。
軟件名稱
工具命令語言
軟件平台
Unix、Windows、Apple Macintosh
軟件語言
TCL
開發商
Tcl Core Team [2] 
軟件授權
Tcl Core Team [2] 
軟件版本
Tcl 8.7 [1] 

TCL產生背景

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

TCL主要功能

Tcl的特性包括:
* 任何東西都是一條命令,包括語法結構(for, if等)。
* 任何事物都可以重新定義和重載。
* 所有的數據類型都可以看作字符串。
* 語法規則相當簡單
* 提供事件驅動給Socket和文件。基於時間或者用户定義的事件也可以。
* 動態的域定義。
* 很容易用C, C++,或者Java擴展。
* 解釋語言,代碼能夠動態的改變。
* 完全的Unicode支持。
* 平台無關。Win32, UNIX, Mac上都可以跑。
* 和Windows的GUI緊密集成。 Tk
* 代碼緊湊,易於維護。
TCL本身不提供面向對象的支持。但是語言本身很容易擴展到支持面向對象。許多C語言擴展都提供面向對象能力,包括XOTcl, Incr Tcl等。另外SNIT擴展本身就是用TCL寫的。

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變量從當前時間中每秒更新一次。
參考資料