JAVA 因简洁而美丽,因有效而动人 善待JAVA这颗种子的人,必将得到她的福荫

tcl语法学习中关于替换和分组的总结

上一篇 / 下一篇  2009-05-17 19:54:52 / 个人分类:Tcl

有关替换和分组的总结
1:命令变元以空白符加以分隔,除非它们像下面所描述的这样使用花括号或双引号进行分组。
2:使用花括号{},进行分组会阻止替换操作。括号可以嵌套。解释器将会在分组中包含所有匹配左右括号之间的字符,其中包含换行符,分号,嵌套括号。用于分组的花括号(即,最外层的花括号)不包含在分组值中。
3:使用双引号“”,进行分组允许替换操作。解释器会将所有的内容包括在内,直到碰到另一个双引号为止,其中包括换行符和分号。分组用的双引号不包含在分组字符当中。可以通过反斜杠(\")将双引号包括在分组中。
4:分组决定是在替换之前作出的。这也意味着变量值或命令结果不影响分组。
5:美元符号$,将会导致变量替换。变量名可以任意长,且区分大小写。如果变量引用嵌套在其他的字符串中,或是其中包括了除字母,数字下划线之外的其他字符,那么可以通过${varname}的语法形式加以区分。
6:方括号[],将会导致命令替换。括号中的所有内容都被当做一条命令看待,且包括方括号在内的所有内容都将被替换成命令的结果。这时允许嵌套。
7:反斜杠\,用来引用特殊的字符。可以认为这是另外一种形式的替换。这里反斜杠与后面的一个或一组字符将被替换成一个新的字符。
8:替换操作可以发生在任何地方,除非使用花括号加以阻止。分组中的一部分可以是常量字符串,而别的部分又可以使替换所产生的结果。甚至命令名都可能受到替换的影响。
9:在调用命令之前只完成一遍替换,不再对替换的结果进行第二遍解释。这条规则则是在你的变量值或命令结果中包含有诸如空格美元符号,方括号或花括号等特殊字符时就显得非常重要。因为只进行一遍替换操作,所以不必担心这些值中的特殊字符会导致额外的替换。
[摘自tcl /tk 权威编程指南p16]
 

TAG: 语法 Tcl tcl

 

评分:0

我来说两句

Open Toolbar