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