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中用來描述空格,製表符,換行符和注釋的術語。空格分開一宣告中的一個組成部分,使直譯器來識別,其中在宣告一個元件,如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也沒有必要(可以不用),雖然是自由的,如果想為便於閱讀,包括一些空白格。