TCL 是相當(dāng)簡(jiǎn)單易學(xué),讓我們開始創(chuàng)建第一個(gè)Tcl程序!
讓我們寫一個(gè)簡(jiǎn)單的Tcl程序。所有的Tcl文件都以.tcl為擴(kuò)展名。所以,把下面的源代碼在 test.tcl 文件中。
#!/usr/bin/tclsh puts "Hello, World!"
假設(shè),TCL環(huán)境設(shè)置正確;讓我們切換到文件所在的目錄,然后運(yùn)行該程序:
$ tclsh test.tcl
我們會(huì)得到下面的輸出。
Hello, World!
現(xiàn)在,讓我們來(lái)看看Tcl程序的基本結(jié)構(gòu),因此,這可以了解Tcl語(yǔ)言的基本構(gòu)建塊。在TCL,我們使用新的行或分號(hào)終止代碼前行。但分號(hào)不是必要的,如果使用的是每一個(gè)命令(即一個(gè)換行)。
注釋就像幫助文本在Tcl程序,解釋器忽略它們。注釋可以使用hash_(#)在開始寫入。
#!/usr/bin/tclsh # my first program in Tcl puts "Hello World!"
多行或者塊注釋使用,如果條件為0。一個(gè)例子如下所示。
#!/usr/bin/tclsh if 0 { my first program in Tcl program Its very simple } puts "Hello World! welcome to yiibai.com"
行內(nèi)注釋使用;#。下面給出一個(gè)例子。
#!/usr/bin/tclsh puts "Hello World!" ;# my first print in Tcl program
一個(gè)Tcl標(biāo)識(shí)符是用來(lái)標(biāo)識(shí)變量,函數(shù),或任何其它用戶定義的項(xiàng)目的名稱。一個(gè)標(biāo)識(shí)符開始以字母A到Z或a?z或后跟零個(gè)或多個(gè)字母下劃線(_),下劃線,美元($)和數(shù)字(0?9)。
TCL不允許標(biāo)點(diǎn)字符,如@和%標(biāo)識(shí)符。TCL是大小寫敏感的語(yǔ)言。因此Manpower 和manpower 在Tcl是兩個(gè)不同的標(biāo)識(shí)符。這里是可接受的標(biāo)識(shí)符的一些例子:
mohd zara abc move_name a_123
myname50 _temp j a23b9 retVal
下面列出了一些在Tcl中的保留字。這些保留的字可以不被用作常量或變量,或任何其他的標(biāo)識(shí)符名稱。
| 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 |
僅包含空格,可能與注釋行,被稱為一個(gè)空行和Tcl解釋完全忽略它。
空白格是Tcl中用來(lái)描述空格,制表符,換行符和注釋的術(shù)語(yǔ)??崭穹珠_一聲明中的一個(gè)組成部分,使解釋器來(lái)識(shí)別,其中在聲明一個(gè)元件,如puts, ends和下一個(gè)元素開始。因此,在下面的語(yǔ)句:
#!/usr/bin/tclsh puts "Hello World!"
必須有puts和之間“Hello World!”至少一個(gè)空白字符(通常是一個(gè)空格),以便解釋器能夠區(qū)分它們。另一方面,在下面的語(yǔ)句
#!/usr/bin/tclsh puts [expr 3 + 2] ;# print sum of the 3 and 2
有時(shí)不需要空格在字符之間,如3和+之間,或+和2也沒有必要(可以不用),雖然是自由的,如果想為便于閱讀,包括一些空白格。