首页 > 其他分享 >tcl常用命令

tcl常用命令

时间:2023-09-15 20:22:26浏览次数:39  
标签:... set expr list value tcl 参数 常用命令

tcl有效命令行以命令+字符串形成;命令之间用换行符或分号隔开

置换($、[]、\)和引用("",{})的差别和联系

置换:变量置换、命令置换和反斜杠置换
变量置换:$, 置换的是变量的值。变量的名字字母、数字和下划线
命令置换:由[]括起来的TCL命令及其参数。TCL遇到 "[]" 时, 会将其内部识别为命令

反斜杠置换:在单词符号中插入诸如换行符、空格、【、$等被TCL等解释其当作特殊符号对待的字符。

\n、\t、\ddd、\xhh、\b

"" :对双引号中的各种分隔符不做处理,对换行符,$和 []置换符会照常处理
{} :

变量

数组:数字只能和数组元素一起声明。如%set day(monday) 1

list:表示集合。

{}、{a b c {}}。
语法:list ? value ...?
函数:concat list ?list...?
lindex list index
llength list
linsert list index value?value...?
lappend varname value ?value...?

相关命令

unset:删除变量,可有任意多个参数。使用:%unset a b day(monday)
append:把文本加到一个变量后面
incr:把一个变量值加上一个整数

eval、expr、source、exec的差别

expr: 语法:expr arg ? arg ...?
两个问号之间的参数表示可省。
eval:语法:eval arg?arg...?
接收一个或多个参数,把所有的参数组合在一起成为一个脚本,然后对这个脚本进行求值。

proc

TCL中的过程类似于C中的函数;

proc add {a b} {expr $x + $y}
proc 过程名 参数列表 过程体

可以用return命令返回需要的值;如果过程没有使用return命令,过程的返回值就是过程中最后一个命令的执行结果

三种参数形式:无参数;带有缺省值的参数;可变个数的参数(最后一个参数是args,表示这个过程支持可变个数的参数)

#无参数
proc abs {} {expr 3+5}
#带缺省值的参数
proc add {var1 {var2 10}} {return [expr $var1+$var2]}
#可变个数的参数
proc avg {args} {
set sum 0
foreach arg $args{set sum [expr $sum+$arg]}
set avg [expr $sum/[llength $args]]
return $avg
}

在所有过程之外定义的变量称为全局变量,在过程内部定义的变量称为局部变量,在过程内部引用一个全局变量的值,使用global命令

字符串操作

因为TCL把所有的输入都当作字符串看待,所以TCL提供了较强的字符串操作功能
format: format formatsting ?value value..?

set name Jone
set age 20
set msg [format "%s is %d years old" $name $age]

scan: scan string format varname ?varname...?

scan "some 26 34" "some %d %d" a b
set a
set b

{ * }配合glob等返回list后的操作

标签:...,set,expr,list,value,tcl,参数,常用命令
From: https://www.cnblogs.com/yoy116/p/17705865.html

相关文章

  • linux的常用命令集
    1.查看文件内容catfilenamecatfilename|grep'过滤字符串'|grep-c'过滤字符串2'-c参数:计数catfilename|grep'过滤字符串'|grep'过滤字符串2'|grep-o-P'{0,21}.目标字符串.{0,21}'>1.txt-o-P参数联用:取目标字符串前面0-21字符+目标字符串+目标字符......
  • openharmony应用开发HDC 常用命令
    1.查看hdc版本:hdc--version 2.查看设备sn号:hdclisttargets 3.进入shell:hdcshell 4.重启设备hdcshellreboot 5.设置RK开发板根目录的读写权限hdcshellmount-orw,remount/#此命令用于解决推包时提示只读路径,无法推送。例如:[Fail]Erroropeningfile:......
  • Python常用命令总结(一)
    Python语言特点开源、免费面向过程、面向对象、交互式编程面向过程:以事情或解决问题的过程为中心,主要考虑解决问题的思路和步骤面向对象:以事务为中心,主要考虑解决问题时涉及的事务的特征和行为获取键盘信息input()在终端显示信息print()整数类型int浮点类型float布尔类型bool字......
  • Linux防火墙:Firewalld 常用命令
    Linux防火墙:Firewalld常用命令CentOS和Fedora中默认的防火墙是Firewalld查看防火墙状态firewall-cmd--state启动防火墙systemctlstartfirewalld重启防火墙systemctlrestartfirewalld暂时关闭防火墙systemctlstopfirewalld永久关闭防火墙system......
  • Mysql 常用命令
    1.Mysql命令行登录mysql-h127.0.0.1-uroot-P3306-p2.创建用户CREATEUSER"killer"@"localhost"IDENTIFIEDBY"password";--允许远程登录的话,localhost改为%  3.用户授权GRANTALLPRIVILEGESON*.*TO"username"@"localho......
  • git常用命令总结
    总结来源:https://baijiahao.baidu.com/s?id=1750089046854021842&wfr=spider&for=pc1、初始化本地仓库gitinit<目录>是可选的,如果不指定,将使用当前目录。 2、克隆一个远程仓库gitclone<url> 3.添加文件到暂存区gitadd<file>//file当前你要添加暂存的文......
  • [转载]TCL全局变量与双冒号变量
    在TCL中,以下代码之间有何区别:代码globalMyVarsetMyVar5和代码set::MyVar5据我了解,::MyVar表示MyVar将是一个全局变量。那么区别是什么呢?1个答案:答案0:(得分:4)如果这是在过程中,则设置哪个变量或放入哪个值没有功能上的区别。(global在过程之外以及其他对......
  • linux常用命令
    1.pwd我在那里2.whoami我是谁3.clear清屏4.ctrl+c强制停止5.ipaddr查看地址6.ping是否联通网站7.systemctlstart|stop|restart|enabled进程network|网络连接|firewalld|防火墙8.cd进入目录cd..回到上一层目录cd-原路返回来时的目录cd/进入根目录9.......
  • MySql教程(--)mysql系统常用命令集
    --mysql连接1.连接到本机上的MYSQL 命令:mysql-u[username]-p mysql-uroot-p,回车后提示你输密码。2.连接到远程主机上的MYSQLhost:远程主机地址username:用户名password:密码 命令:mysql-h[host]-u[username]-p[password] mysql-h192.168.10.153-uroot......
  • mysql - 压测常用命令
    常用--查看所有连接的情况showprocesslist;--查看当前系统的连接数showstatuslike'Threads_connected';--各类查询语句执行次数showstatuslike'com%';--试图连接mysql服务器的次数showstatuslike'Connections';--慢查询次数(时间超过long_query_time......