TCL基本語法


TCL 是相當簡單易學,讓我們開始建立第一個Tcl程式!

第一個TCL程式

讓我們寫一個簡單的Tcl程式。所有的Tcl檔案都以.tcl為擴充套件名。所以,把下面的原始碼在 test.tcl 檔案中。

#!/usr/bin/tclsh

puts "Hello, World!" 

假設,TCL環境設定正確;讓我們切換到檔案所在的目錄,然後執行該程式:

$ tclsh test.tcl

我們會得到下面的輸出。

Hello, World!

現在,讓我們來看看Tcl程式的基本結構,因此,這可以了解Tcl語言的基本構建塊。在TCL,我們使用新的行或分號終止程式碼前行。但分號不是必要的,如果使用的是每一個命令(即一個換行)。

注釋

注釋就像幫助文字在Tcl程式,直譯器忽略它們。注釋可以使用hash_(#)在開始寫入。

#!/usr/bin/tclsh

# my first program in Tcl
puts "Hello World!" 

多行或者塊註釋使用,如果條件為0。一個例子如下所示。

#!/usr/bin/tclsh

if 0 {
my first program in Tcl program
Its very simple
}
puts "Hello World! welcome to tw511.com" 

行內註釋使用;#。下面給出一個例子。

#!/usr/bin/tclsh

puts "Hello World!" ;# my first print in Tcl program

識別符號

一個Tcl識別符號是用來標識變數,函式,或任何其它使用者定義的專案的名稱。一個識別符號開始以字母A到Z或a?z或後跟零個或多個字母下劃線(_),下劃線,美元($)和數位(0?9)。

TCL不允許標點字元,如@和%識別符號。TCL是大小寫敏感的語言。因此Manpower 和manpower 在Tcl是兩個不同的識別符號。這裡是可接受的識別符號的一些例子:

mohd       zara    abc   move_name  a_123
myname50   _temp   j     a23b9      retVal

保留字

下面列出了一些在Tcl中的保留字。這些保留的字可以不被用作常數或變數,或任何其他的識別符號名稱。

after append array auto_execok
auto_import auto_load auto_load_index auto_qualify
binary Bgerror break catch
cd Clock close concat
continue Dde default else
elseif Encoding eof error
eval Exec exit expr
fblocked Fconfigure fcopy file
fileevent Flush for foreach
format Gets glob global
history If info interp
join Lappend lindex linsert
list Llength load lrange
lreplace Lsearch lsort namespace
open Package pid pkg_mkIndex
proc Puts pwd read
regexp Regsub rename resource
return Scan seek set
socket Source split string
subst Switch tclLog tell
time Trace unknown unset
update Uplevel upvar variable
vwait While    

Tcl空格

僅包含空格,可能與注釋行,被稱為一個空行和Tcl解釋完全忽略它。

空白格是Tcl中用來描述空格,製表符,換行符和注釋的術語。空格分開一宣告中的一個組成部分,使直譯器來識別,其中在宣告一個元件,如puts, ends和下一個元素開始。因此,在下面的語句:

#!/usr/bin/tclsh

puts "Hello World!" 

必須有puts和之間“Hello World!”至少一個空白字元(通常是一個空格),以便直譯器能夠區分它們。另一方面,在下面的語句

#!/usr/bin/tclsh

puts [expr 3 + 2] ;# print sum of the 3 and 2

有時不需要空格在字元之間,如3和+之間,或+和2也沒有必要(可以不用),雖然是自由的,如果想為便於閱讀,包括一些空白格。