TCL 提供三种形式的置换:变量置换、命令置换和反斜杠置换。每种置换都会导致一个或多个 单词本身被其他的值所代替。置换可以发生在包括命令名在内的每一个单词中,而且置换可以嵌 套。
变量置换(variable subtitution) 变量置换由一个$符号标记,变量置换会导致变量的值插入一个单词中。例如: %set y $x+100 //y 的值是 10+100,这里 x 被置换成它的值 10 10+100 这时,y 的值还不是我们想要的值 110,而是 10+100,因为 TCL 解释器把 10+100 看成是 一个字符串而不是表达式,y 要想得到值 110,还必须用命令置换,使得 TCL 会把 10+100 看 成一个表达式并求值。
命令置换(command substitution) 命令置换是由[]括起来的 TCL 命令及其参数,命令置换会导致某一个命令的所有或部分单词被 另一个命令的结果所代替。例如: %set y [expr $x+100] 110 y 的值是 110,这里当 TCL 解释器遇到字符'['时,它就会把随后的 expr 作为一个命令名,