一个 TCL 的简单变量包含两个部分:名字和值。名字和值都可以是任意字符串。例如一个名为“13237&*: hdgg"的变量在 TCL 中都是合法的。不过为了更好的使用置换(substitution),变量名最好按 C\C++语言中标识符的命名规则命名。 TCL 解释器在分析一个变量置换时,只把从$符号往后直到第一个不是字母、数字或下划线的字符之间的单词符号作为要被置换的变量的名字。例如:
在最后一个命令行,我们希望把变量 a.1 的值付给 b,但是 TCL 解释器在分析时只把$符号之后直到第一个不是字母、数字或下划线的字符(这里是'.')之间的单词符号(这里是'a')当作要被置换的变量的名字,所以 TCL 解释器把 a 置换成 2,然后把字符串“2.1”付给变量 b。这显然与我们的初衷不同;
当然,如果变量名中有不是字母、数字或下划线的字符,又要用置换,可以用花括号把变量名括起来。例如:
TCL 中的 set 命令能生成一个变量、也能读取或改变一个变量的值。例如: