最近在巩固Tcl的基础知识,昨天看了第一章基础知识,把书看薄的过程,总结下:
1、Tcl基于字符串,设计成粘合剂,用来将软件构件组装成应用程序,是被解释执行的,基本机制均与字符串与字符串替换有关;
2、Tcl代表Tool Command Language,将任何东西转换成命令的形式,基本语法是:command arg1 arg2 arg3,command要么是内建命令要么是Tcl过程,空格分隔命令及其变元,换行或分号表示一条命令的结束;
3、Tcl除了分组与替换之外,不对命令变元进行解释,命令处理器行为可以分为三步:①变元分组②对嵌套命令、变量、反斜杠换码序列进行替换③调用命令;
4、花括号并不是值的一部分,是解释器的语法,而且在将值传给命令之前就会剥去;
5、三种替换机制:使用$符号替换,使用命令替换,使用反斜杠替换
6、嵌套命令由方括号来界定,Tcl解释器接收位于方括号之间的所有内容作为一条命令来计算,它通过把方括号和其间的一切替换成嵌套命令哦哦结果来重写外围命令;
7、如果一条命令中有多处替换,解释器就会按照从左到右的顺序进行处理,每当遇到右括号时计算其间界定的命令;
8、数学表达式使用expr命令来计算,八进制以0开头,十六进制以0x开头,可以在表达式中包含变量引用和嵌套命令,将要计算的数学表达式用花括号括起来使计算更高效;
9、反斜杠替换用来引用对解释器来说有特殊意义的字符,有大量反斜杠使用list命令有相同的引用功能;
10、反斜杠的一个常用作用是续写一条很长的命令;
11、花括号和双引号进行分组:双引号允许分组中出现替换操作,花括号组织替换的发生(expr除外);
12、方括号没有分组功能,嵌套命令被认为是分组的一部分;
13、分组是在替换前进行的,Tcl只对命令进行一遍分组和字符串替换操作;
14、Tcl使用proc命令来定义过程;
15、Tcl解释器将会以命令体中最后一条命令的值作为返回值,有时return没有必要;
16、过程中的花括号作用:分组以及推迟命令体中任何替换操作;
17、proc还具有不定变元以及变元默认值等;
18、总是使用花括号将表达式和命令体括起来;
19、可以将一个变量名赋给另一个变量而运用,同upvar命令;
20、可以使用花括号来明确地界定变量名,使用奇特变量名或计算得出变量名使用upvar命令。