variables(变量)
语法:set varname value
例如:set a 5
注意:大小写敏感,任意长度,任意字符
使用之前无需申明
substitution(替换)
1 变量值替换
$加变量名
2 命令行替换
使用[]来访问命令结果,可以嵌套
例如set len [string length foo]
3 反斜线替换
避开某些特殊字符,例如显示特殊字符$
grouping(分组)
有双引号的分组支持在组中进行替换(总是允许替换,即使组含有波形括号,也只是把波形括号当做双引号内部的字符)
如:set a 5
set b "foo {$a} bar"
当指令执行完毕后,变量b会含有字符串值foo {5} bar
具有波形括号的分组延迟或者防止替换
如:puts {$a}
打印字符$a而不是变量a的值
comments(注释)
使用#注释
如果注释和命令放到同一行,应该先使用分号来结束命令
例如:set a 5; #sets a to 5
不支持/* */
expr命令
使用expr命令来执行算术函数
强烈建议采用波形括号讲表达式分组
incr命令
对变量值进行递增,递增1或者其他可选的整数
语法是命令incr,后面跟随变量名称,然后是可选的数值,如果不提供数值,则采用1