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 gitbook.net"
行內注釋使用;#。下麵給出一個例子。
#!/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也冇有必要(可以不用),雖然是自由的,如果想為便於閱讀,包括一些空白格。