一、置换语句
变量置换$
TCL解释器会将认为$后面为变量名,将变量置换乘它的值,
[]命令置换、[]内是一个独立的TCL语句
\反斜杠置换
换行符。空格、[、$等被TCL解释器当作特殊符号对待的字符,加上反斜杠后变成普通字符
“”CL对双引号中$和[]符号会进行变量置换和命令置换。
{}在花括号中,所有特殊字符都将成为普通字符,TCL解释器不会对其做特殊处理。
#表示注释
二、变量定义
Set 变量名 变量值
变量取值: $变量名
从解释器中删除变量: unset
使用-nocomplain选项可以避免在尝试清除不存在的变量时产生错误。
三、变量改变
把一个文本加到变量的后面,改变变量的值 : append
给一个变量的值加上一个整数,要求变量原来的值和新加的值都必须是整数
incr 的缺省值为1
四、数组
定义: set 数组名(元素名) 值
取值: $数组名 (元素名)
五、列表
标量的有序集合
定义:set 列表名 {元素1 元素2 元素3}
取值:$列表名
六、列表操作命令
(1)Concat 合并两个列表
(2)Lindex 选取列表中的某个元素
(3)Llength 列表长度
(4)linsert 插入指令
在某个位置插入一个列表
(5)lreplace 替换指令
在原本列表的第 firs到第 last 用 value 替换,如果 没有 value 参数,就删除第 firs到第 last 个元素
(6)lrange
返回list的第first (0-based)到第last (0-based)元素组成的串,如果last的值是end。就是从第first个直到串的最后。
(7)lsearch:
语法:lsearch ?-exact? ?-glob? ?-regexp? list pattern
返回list中第一个匹配模式pattern的元素的索引,如果找不到匹配就返回-1
(8)Lappend 在列表末端追加元素
(9)Lsort 列表排序
列表指令 lsort
格式 : lsort 开关 列表
功能: 将列表按照一定的规则排序
开关: 缺省时默认按照ASCII码进行排序
-real 按照浮点数值大小排序
-unique唯一化,删除重复元素
七、split 字符串分割
语法:split string ?splitChars?
把字符串string按分隔符splitChars分成一个个单词,返回由这些单词组成的串。如果splitChars
是一个空字符{},string被按字符分开。如果splitChars没有给出,以空格为分隔符。
八、 join命令
语法: join list ?joinString?
join命令是命令split 的逆。这个命令把list的所有元素合并到一个字符串中,中间以joinString分开。缺省的joinString是空格
九、数学运算指令 -expr
格式 expr 运算表达式
功能 将运算表达式求值
十、命令置换 [ ]
命令置换是由[ ] 括起来的TCL命令及其参数,命令置换会导致某一个命令的所有或部分单词被另一个命令的结果所替代。
[ ]中的脚本的值为 最后一个命令的返回值。
十一、反斜杠置换 \
用于单词符号中插入诸如换行符、空格、[ 、$ 等被 TCL 解释器当作特殊符号对待的字符。
十二、双引号和花括号
对双引号中各种分隔符不作处理,但是对换行符\n $ [] 会照常处理
而在花括号中,所有字符都将变成普通字符