tcl/tk中使用大括号{}和双引号“”进行分组,使其成为一个变元,但是有一个区别:大括号阻止在分组中出现替换操作,而后者允许这样做。
例如:
% set s Hello
Hello
% puts stdout "The length of $s is [string length $s]."
The length of Hello is 5.
% puts stdout {The length of $s is [string length $s].}
The length of $s is [string length $s].
%
双引号和花括号将多个单词组织成一个参数,也是一种替换操作。””和{}内的替换如何进行
呢?一般的原则是在" "内的替换正常进行,而在{}内的替换有可能会被阻止。
对花括号内的替换操作可以概括为:如果花括号是用做替换操作,则它会阻止内部的嵌套替
换;如果花括号用做界限符,如过程定义时用做界限过程体时,不阻止替换操作,
其他还有 if条件语句、循环语句、switch语句和过程声明、数学表达式等。{}的作用比较特
殊,需要根据不同的情况区别处理。