2024年4月6日发(作者:力迎南)
tcl脚本语言中文详解
T C L用法祥述
一TCL语法
1 脚本、命令和单词符号
一个TCL脚本可以包含一个或多个命令。命令之间必须用换行符或分号隔开,下面的
两个脚本都是合法的:
set a 1
set b 2
或
set a 1;set b 2
TCL的每一个命令包含一个或几个单词,第一个单词代表命令名,另外的单词则是这
个命令的参数,单词之间必须用空格或TAB键隔开。
TCL解释器对一个命令的求值过程分为两部分:分析和执行。在分析阶段,TCL 解释
器运用规则把命令分成一个个独立的单词,同时进行必要的置换(substitution);在执行
阶段,TCL 解释器会把第一个单词当作命令名,并查看这个命令是否有定义,如果有定义
就激活这个命令对应的C/C++过程,并把所有的单词作为参数传递给该命令过程,让命
令过程进行处理。
2 置换(substitution)
注:在下面的所有章节的例子中,'%'为TCL的命令提示符,输入命令回车后,TCL
会在接着的一行输出命令执行结果。'//'后面是我自己加上的说明,不是例子的一部分。
TCL解释器在分析命令时,把所有的命令参数都当作字符串看待,例如:
%set x 10 //定义变量x,并把x的值赋为10
10
%set y x+100 //y的值是x+100,而不是我们期望的110
x+100
上例的第二个命令中,x被看作字符串x+100的一部分,如果我们想使用x的值'10' ,
就必须告诉TCL解释器:我们在这里期望的是变量x的值,而非字符'x'。怎么告诉TCL解
释器呢,这就要用到TCL语言中提供的置换功能。
TCL提供三种形式的置换:变量置换、命令置换和反斜杠置换。每种置换都会导致一
个或多个单词本身被其他的值所代替。置换可以发生在包括命令名在内的每一个单词中,
而且置换可以嵌套。
2024年4月6日发(作者:力迎南)
tcl脚本语言中文详解
T C L用法祥述
一TCL语法
1 脚本、命令和单词符号
一个TCL脚本可以包含一个或多个命令。命令之间必须用换行符或分号隔开,下面的
两个脚本都是合法的:
set a 1
set b 2
或
set a 1;set b 2
TCL的每一个命令包含一个或几个单词,第一个单词代表命令名,另外的单词则是这
个命令的参数,单词之间必须用空格或TAB键隔开。
TCL解释器对一个命令的求值过程分为两部分:分析和执行。在分析阶段,TCL 解释
器运用规则把命令分成一个个独立的单词,同时进行必要的置换(substitution);在执行
阶段,TCL 解释器会把第一个单词当作命令名,并查看这个命令是否有定义,如果有定义
就激活这个命令对应的C/C++过程,并把所有的单词作为参数传递给该命令过程,让命
令过程进行处理。
2 置换(substitution)
注:在下面的所有章节的例子中,'%'为TCL的命令提示符,输入命令回车后,TCL
会在接着的一行输出命令执行结果。'//'后面是我自己加上的说明,不是例子的一部分。
TCL解释器在分析命令时,把所有的命令参数都当作字符串看待,例如:
%set x 10 //定义变量x,并把x的值赋为10
10
%set y x+100 //y的值是x+100,而不是我们期望的110
x+100
上例的第二个命令中,x被看作字符串x+100的一部分,如果我们想使用x的值'10' ,
就必须告诉TCL解释器:我们在这里期望的是变量x的值,而非字符'x'。怎么告诉TCL解
释器呢,这就要用到TCL语言中提供的置换功能。
TCL提供三种形式的置换:变量置换、命令置换和反斜杠置换。每种置换都会导致一
个或多个单词本身被其他的值所代替。置换可以发生在包括命令名在内的每一个单词中,
而且置换可以嵌套。