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也没有必要(可以不用),虽然是自由的,如果想为便于阅读,包括一些空白格。