目录
1 TCL处理命令的方式
我们知道了Tcl处理命令分为两步:解析和执行。
1.1 解析
在这一步,按照Tcl语法规则,将命令分解,并执行替换。对每个命令进行解析的方法是完全一样的。在这个阶段,Tcl解释器将各个单词看为字符串,没有具体意义。Tcl只进行一些简单的字符串操作,例如,将字符串$input用input中存放的字符串代替;Tcl不知道也不关心替换后的字符串是一个数字还是任何其他内容。
1.2 执行
在这一阶段,命令中的各个单词都有具体含义。Tcl把第一个单词作为命令名,检查这个命令是否定义,并完成该命令功能的整个过程。如果命令已经被定义,Tcl解释器就调用该命令过程,把命令中的全部单词传递给该过程。命令会按照自己的需求来分辨这些单词的含义;而每个命令的功能不同,所以参数的意义也就不同了。换句话说,参数的意义随着命令的不同会发生变化,同样的参数跟在不同的命令后面的意义也不同。
2 常见命令举例
2.1 Tcl的赋值命令set
当set命令调用两个参数。语法规则为set varName value
set load 5 ;第一个参数load为变量名 第二个参数5为变量值
对于set指令,Tcl的行为是,将第二个参数5存放在第一个参数load引用的内存空间中,并且返回第二个参数。set命令也可以只使用一个参数调用。当只有一个参数被调用时,它将返回该参数的内容。
2.2 Tcl数学运算命令expr
expr命令把它的参数连接起来,在把连接起来的值作为表达式处理,返回表达式的值。
2.3 Tcl列表操纵命令lindex
如下示例中,lindex的第一个参数是包含4个元素的列表,这些元素由空格隔开。该命令返回列表中索引为2的元素(实际上是第三个元素,索引是从0开始编号的)。
2.4 Tcl的集合命令string
对于string命令,Tcl的行为是把多条命令整合为一条。命令的第一个参数决定要进行的操作以及其他参数的含义。
当然,还有很多Tcl内置的命令,就不一一列举了。
3 总结
通过上述几篇文章,我们已经对Tcl有了初步的认知,对于Tcl解释器的行为和Tcl语言的基本语法规则有了一定的了解。上述知识较为基础,很好理解,后面的知识将会更加难理解。不过相信我们一步一个脚印,肯定能够越来越熟练的,并且对Tcl的理解也会愈发深刻!