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 xuhuhu.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也沒有必要(可以不用),雖然是自由的,如果想為便於閱讀,包括一些空白格。