Tcl是一种解释型的脚本语言,脚本解释器为tclsh。Tcl同时也是一个shell环境。Tcl支持Windows,Mac OS X和几乎所有的Unix平台。
基本结构
Tcl程序有两种运行方式,一种是将程序写入脚本中,通常以.tcl命名。另一种是在tcl命令行中直接执行。
Tcl中句与句之间以换行或分号分隔。如果每行只有一个语句,则分号不是必须的。如果一行中只包含空格、注释,则会忽略该行。在一个语句中,通过空格来分隔语句的不同部分。如下面代码中的puts和"Hello world!"之间至少要有一个空格。
有如下文件hello.tcl。
#!/usr/bin/tclsh
puts "Hello world!"
假设已经安装Tcl把那个正确配置环境变量。则可通过tclsh命令运行脚本文件hello.tcl,如:
tclsh D:/work/Tcl/demos/test/hello.tcl
还可以以命令形式运行,直接在tcl命令行中输入以下命令:
puts "Hello world!"
两者效果一样都是输入字符串“Hello world!”。
注释
tcl中注释符为“#”,#之后的内容会被忽略。要注意的是注释语句与代码语句之间也要用换行或分号分隔。
“#”只能注释单行,如果要注释多行或者大段代码时使用起来不是很方便。可以通过if语句来实现多行注释。
#!/usr/bin/tclsh
# this is a comment
puts "Hello world!";#another comment
if 0 {
this is a comment
this is a comment too
}
puts "Hello Tcl" #this is a wrong comment
标识符
标识符可以用来标识变量、函数等。合法的标识符以大写或小写字母开头,后面跟着零或多个字母、“_”、“$”和数字。实际上标识符中也可以有#,%甚至空格,只不过需要转义或者用“{}”包围起来,但是不建议使用这些有特殊含义的字符。此外为了避免产生歧义,也尽量不要与Tcl中的特殊变量、内置函数、内置命令重名。
数据类型
Tcl中实际上只有字符串一种数据类型。所有数据都是以字符串的形式存在。
数值:Tcl中数值计算是在expr命令中进行的,包括数学函数。还有incr命令,可以进行加减法。而数字字符串的输出可以通过format命令格式化输出。如果数值是科学计数法表示的字符串,需要先用double函数转换后再进行数值计算。
布尔值:Tcl中,字符串0、no、flase、off为假,字符串yes、true、on和非0的数字字符串,包括科学计数法表示的数值为真。
特殊字符
Tcl中有一些有特殊含义的字符。
$:展开变量的值。
[]:展开一个命令(或调用过程)的值。
"":引号中的内容作为一个整体,引号中的$、[]与\会被展开或转义,如果字符没有被双引号或大括号包围,默认行为与被双引号包围一致。
{}:大括号中的内容作为一个整体,但大括号中的$、[]与\不会被展开或转义。
\:转义字符,将特殊字符转为可见字符,如“\$”、“\\”;也可以让一些字符转为特殊字符,如“\n”、“\t”。