色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          TCL語言簡(jiǎn)述

          作者: 時(shí)間:2010-09-27 來源:網(wǎng)絡(luò) 收藏

            這里的 if 命令接受兩個(gè)參數(shù),每個(gè)都是用花括號(hào)界定的。If 是內(nèi)置命令,它把它的第一個(gè)參數(shù)作為表達(dá)式來求值;如果結(jié)果非零,則 if 把它的第二個(gè)參數(shù)作為 Tcl 命令執(zhí)行。這個(gè)特定命令在變量 a 小于 b 的時(shí)候交換 a 和 b 的值。
            Tcl 還允許用戶定義用 Tcl 寫的命令過程。我稱謂這些過程為 tclproc,為的是區(qū)別于用 C 寫成的其他過程。使用 proc 內(nèi)置命令來建立 tclproc。例如,下面定義了一個(gè)遞歸的階乘過程的 Tcl 命令:
            proc fac x {
            if {$x == 1} {return 1}
            return [expr {$x * [fac [expr $x-1]]}]
            }
            proc 命令接受三個(gè)參數(shù):新 tclproc 的名字、一個(gè)變量名字的列表(在這個(gè)實(shí)例中試只有一個(gè)元素 x 的列表),和一個(gè)構(gòu)成 tclproc 的過程體的 Tcl 命令。一旦執(zhí)行了這個(gè) proc 命令,fac 就可以同其他 Tcl 命令一樣調(diào)用了。例如
            fac 4
            將返回字符串“24”。
            盡管內(nèi)置 Tcl 命令可以令人信服的用作獨(dú)立的編程系統(tǒng),Tcl 實(shí)際上意圖被嵌入到應(yīng)用程序中。我已經(jīng)建造了使用 Tcl 的幾個(gè)應(yīng)用程序,其中之一是針對(duì) X 的叫做 mx 的一個(gè)基于鼠標(biāo)的編輯器。在本文的余下部分,我將使用來自 mx 的例子來展示 Tcl 如何與包圍它的應(yīng)用進(jìn)行交互。
            使用 Tcl 的應(yīng)用程序用同特定應(yīng)用有關(guān)的一些額外的命令來擴(kuò)展內(nèi)置命令。例如,時(shí)鐘程序可以提供額外的命令來控制時(shí)鐘如何顯示和設(shè)置鬧鐘;mx 編輯器提供額外的命令來從磁盤讀取文件,在窗口中顯示它,選擇和修改一定范圍內(nèi)的字節(jié),和把修改后的文件寫回磁盤。應(yīng)用程序員只需要寫特定于應(yīng)用的命令;內(nèi)置命令“免費(fèi)的”提供編程能力和擴(kuò)展能力。對(duì)于用戶,特定于應(yīng)用的命令表現(xiàn)的如同內(nèi)置命令一樣。
            Tcl 和窗口應(yīng)用
            可嵌入的命令如 Tcl 在窗口環(huán)境中提供了特別的好處。部分原因是在窗口環(huán)境中有很多交互式程序(所以有很多地方要使用命令),部分的原因是在今天的窗口環(huán)境中可配置性是重要的,并且語言如 Tcl 提供了做重新配置的靈活性。Tcl 在窗口應(yīng)用中可以用于兩個(gè)目的: 配置應(yīng)用的界面動(dòng)作,配置應(yīng)用的界面外觀。在下面的段落中討論這兩個(gè)用途。
            Tcl 的第一個(gè)用法是用于界面動(dòng)作。理想的,對(duì)應(yīng)用重要的每個(gè)事件都應(yīng)當(dāng)綁定上 Tcl 命令。每次擊鍵、每次鼠標(biāo)移動(dòng)或鼠標(biāo)按鈕按下(或釋放)、和每個(gè)菜單條目都應(yīng)當(dāng)關(guān)聯(lián)上 Tcl 命令。
            當(dāng)事件發(fā)生時(shí),首先把它映射到它的 Tcl 命令上,接著通過把這個(gè)命令傳遞到 Tcl_Eval 來執(zhí)行它。應(yīng)用不應(yīng)當(dāng)直接接收任何動(dòng)作;所有動(dòng)作都應(yīng)當(dāng)首先通過 Tcl 來傳遞。進(jìn)一步,應(yīng)用應(yīng)當(dāng)提供 Tcl 命令允許用戶改變與任何事件相關(guān)聯(lián)的 Tcl 命令。
            在交互式的窗口應(yīng)用中,Tcl 的使用可能對(duì)于初級(jí)用戶是不可見的: 他們將使用按鈕、菜單和其他界面構(gòu)件來操縱應(yīng)用。但是,如果使用 Tcl 作為所有界面動(dòng)作的中間媒介,則會(huì)產(chǎn)生兩個(gè)好處。首先,使得寫 Tcl 程序來重新配置界面成為可能。例如,用戶將能夠重新綁定擊鍵、改變鼠標(biāo)按鈕、或把一個(gè)現(xiàn)存的操作替代為指定為一組 Tcl 命令或 tclproc 的更加復(fù)雜的操作。第二個(gè)好處是這種方式強(qiáng)制所有的應(yīng)用的功能都可通過 Tcl 來訪問: 任何可以使用鼠標(biāo)或鍵盤調(diào)用的東西都可以使用 Tcl 程序調(diào)用。這使得有可能寫模擬程序動(dòng)作的 tclproc,或把程序的基本動(dòng)作組合到更加強(qiáng)力的動(dòng)作中。這還允許交互式會(huì)話作為一序列 Tcl 命令而被記錄和重演。

          本文引用地址:http://cafeforensic.com/article/151488.htm

          上一頁(yè) 1 2 下一頁(yè)

          關(guān)鍵詞: 簡(jiǎn)述 語言 TCL

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉