tcl語言簡介1

2021-05-22 02:47:22 字數 2403 閱讀 7691

tcl簡介(一):tcl 語法

tcl 語法

tcl是一種很通用的指令碼語言,它幾乎在所有的平台上都可以釋執行,其強大的功能和簡單精妙的語法會使你感到由衷的喜悅,這片文章對 tcl有很好的描述和說明。極具可讀性,我並不是原封不動的翻譯而是加上了一些自己的體會和例子,如有錯誤請指正。如果你看起來很吃力,那是因為 tcl與一般的語言有一些不同之處,剛開始可能有一些不理解,但很快就會掌握的。請堅持一下,我能堅持寫完,你至少也應該堅持讀一遍吧!

tcl overview

這篇文章裡包含了幾乎 tcl 的全部。文章的作者是tcl的締造者john ousterhout,對tcl的詮釋非常清楚。

introduction 簡介

tcl 代表 "tool command language" 發音為 "tickle." 。它實際上包含了兩個部分:乙個語言和乙個庫。

首先,tcl是一種簡單的指令碼語言,主要使用於發布命令給一些互交程式如文字編輯器、偵錯程式和shell。它有乙個簡單的語法和很強可擴充性,tcl可以建立新的過程以增強其內建命令的能力。

其次,tcl是乙個庫包,可以被嵌入應用程式,tcl的庫包含了乙個分析器、用於執行內建命令的例程和可以使你擴充(定義新的過程)的庫函式。應用程式可 以產生tcl命令並執行,命令可以由使用者產生,也可以從使用者介面的乙個輸入中讀取(按鈕或選單等)。但tcl庫收到命令後將它分解並執行內建的命令,經常 會產生遞迴的呼叫。

/* 現在不理解沒關係,請往下看 */

應用程式使用tcl作為它的命令語言有三個好處:

1 tcl提供了標準語法,一旦使用者掌握了tcl就可以很容易的發布命令給基於tcl的程式。

2 tcl實現了很多的功能,使你的工作變得很方便。

3 tcl可作為程式間通訊的介面。

tcl interpreters 直譯器

在tcl的資料結構中的核心是tcl_interp.乙個直譯器包含了一套命令,一組變數和一些用於描述狀態的東西。每乙個 tcl命令是在特定的tcl_interp中執行的,基於tcl的應用程式可以同時擁有幾個tcl_interp。tcl_interp是乙個輕量級的結 構,可以快速的新建和刪除。

tcl data types 資料型別

tcl只支援一種資料結構:字串(string)。所有的命令,命令的所有的引數,命令的結果,所有的變數都是字串。請牢記這一點,所有的東西都是字串。

然而字串的實際解釋是依賴於上下文或命令的。它有三種形式:命令(command), 表示式(expresion)和表(list)。下面會討論細節。

basic command syntax 基本語法

tcl有類似於shell和lisp的語法,當然也有許多的不同。一條tcl的命令串包含了一條或多條命令用換行符或分號來隔開,而每一條命令包含了乙個域(field)的集合,域使用空白分開的,第乙個域是乙個命令的名字,其它的是作為引數來傳給它。

例如:set a 22 //相當於c中的 a=22 a是乙個變數這條命令分為三個域:1: set 2: a 3: 22

set使用於設定變數的值的命令,a、20 作為引數來傳給它,a使它要操作的變數名,22是要付給的a值。

tcl的命令名可以使內建的命令也可以是使用者建的新命令,在應用程式中用函式tcl_createcommand來建立。所有的引數作為字串來傳遞,命 令自己會按其所需來解釋的引數的。命令的名字必須被打全,但 tcl直譯器找不到一同名的命令時會用 unknown命令

來代替。

tcl簡介(二):tcl 內建命令

tcl 內建命令

tcl簡介(三):tcl 內建命令

tcl 名字空間

namespace

建立和操縱命令和變數的上下文(content)。

簡介:

乙個名字空間是乙個命令和變數的集合,通過名字空間的封裝來

保證他們不會影響其它名字空間的變數和命令。 tcl 總是維護了一

個全域性名字空間 global namespace 包含了所有的全域性變數和命令。

namespace eval允許你建立乙個新的namespace。

例如:namespace eval counter

}名字空間是動態的,可變的。

例如:namespace eval counter

}//新增了乙個過程

namespace eval counter

}//刪除test

namespace eval counter

引用:set counter::num

//return 0

也可以用下面的方式新增:

proc foo::test

或在名字空間中移動:

rename foo::test bar::test

Tcl程式設計簡介(一)

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

Tcl程式設計簡介(三)

tcl程式設計簡介 三 tcl 內建命令 內建的命令 tcl提供了下面描述的內建函式。其中 表示引數不定具體有 將那一大堆value附加到varname後面。如果變數不存在,會新建乙個。例子 array命令 array subcommand arrayname array subcommand ar...

TCL語言筆記 TCL基礎語法

tcl 全稱是 tool command language。它是乙個基於字串的命令語言,基礎結構和語法非常簡單,易於學習和掌握。tcl 語言是乙個解釋性語言,所謂解釋性是指不象其他高階語言需要通過編譯和聯結,它象其他 shell 語言一樣,直接對每條語句順次解釋執行。tcl 資料型別簡單。對 tcl...