TCL脚本语法入门
数字后端工具多用tcl脚本,功能强大。
一、变量置换
$将后面的变量置换成它的值
[]内是一个独立的tcl语句
换行符、空格等特殊字符加上\变成普通字符。
\t表示空格
\n表示回车
“”号内特殊字符仍为特殊字符,但{}内都变成普通字符。
#注释
二、变量、数组、列表
变量:定义:set 变量名 变量值 取值:puts $变量名
引用变量时 puts ${变量}_1
数组: set 数组名(元素值) “值” 取值 puts $数组名(元素名)
使用array获取数组信息,如array size 数组名 array names 数组名
列表: 定义 set 列表名{元素1 元素2 …} 标量的有序集合。
列表操作指令:concat 合并两个列表 lindex 选取列表的某个元素 llength列表长度 lappend 在列表末端追加元素 lsort 列表排序
Lsort 开关 列表, 默认按照ASIC码排序,real 按照浮点数值大小排序 , unique唯一化,删除重复元素。
例
三、数学运算指令
expr 将运算表达式求值。想进行浮点运算只需将任意一个数值写成浮点形式
四、控制流
If 脚本语句的{一定要写在上一行,否则解释器会认为命令已经在此处结束。
Foreach 变量 列表 循环主体
从第0个元素开始,每次按顺序取得列表的一个元素,将其赋给变量,然后执行循环主体一次,直到列表最后一个元素。例
foreach I $list {
puts KaTeX parse error: Expected 'EOF', got '}' at position 3: i }̲ break跳出循环,cont…i > 0} {incr I - 1} {
puts $i
}
五、过程函数
Proc 函数名 参数列表 函数主体; 用户自定义功能的函数,方便多次调用。
例 proc add {a b} {
set sum [expr $a + $b]
return $sum
}
调用 add 3 4
使用global将变量定义为全局变量
六、正则匹配
\w用来匹配一个字母、数字、下划线 \d用来匹配一个数字
三种量词:*表示零次或多次匹配 +表示一次或多次匹配 ?零次或一次
如字符串 abc123 可用正则表达式\w+\d+或\w*\d*
^表示字符串开头 $表示字符串结尾 \s表示空格 .表示任意字符
正则匹配指令: regexp?switches?exp string?matchVar? ?
switch——是否区分大小写
exp——正则表达式
string——用来进行匹配的字符串
例:regexp {\w+\d+} “abc456”
例:匹配一个数字开头且数字结尾的字符串
Regexp {^\d.*\d$} “1 dfsal 1”
通过()可以捕获字符串
例