Tcl语言快速学习

碎碎念:好久没更新博客了,近来工作需要用到candece家的工具,以及Y家等EDA工具,都是需要读入tcl的配置文件,这里打算爆肝五个小时,学会Tcl语言,以后能在工作终游刃有余。这里会参考一些其他人的博客,本文会在相应的位置列出来。加油OvO

Tcl语言是什么

tcl语言是一种可以在linux以及windows下执行的语言,是一种解释执行的脚本语言(Scripting Language)。它提供了通用的编程能力:支持变量、过程和控制结构;同时TCL还拥有一个功能强大的固有的核心命令集。

1.语法

这里的tcl的脚本可以包含一个或者多个命令,命令之间必须采用换行符,或者分号分开,TCL的每个命令包含一个或者多个单词,一个单词就是一个命令,单词之间必须采用空格或者TAB隔开,windows中,我使用的是wish这个软件进行联手,linux与windows是一样的。
在这里插入图片描述

2 变量置换

在这里插入图片描述

3.命令置换

命令置换采用【】的形式
在这里插入图片描述

4. 反斜杠置换

在这里插入图片描述
这里的\类似和C语言一样,将空格保存了,否则,程序任务空格就是空格

注意:除了\以外,“”和{}夜同样被认为为置换符号,将特殊的字符当作普通的字符,TCL解释器对双引号中的各种分隔符将不作处理,但是对**换行符及$和[]**两种置换符会照常处理。
在这里插入图片描述

变量

TCL提供两种变量,其中包括简单变量和数组

简单变量

名字和值,都可以是任意的字符串
TCL解释器在分析一个变量置换时,只把从$符号往后直到第一个不是字母、数字或下划线的字符之间的单词符号作为要被置换的变量的名字。
在这里插入图片描述

生成变量,读取,修改变量

在这里插入图片描述

数组

数组:赋值方式:
set num(a )

array set {a 1 b 2 }

记住这里一定要使用空格
puts 输出
parray 命名
在这里插入图片描述

相关命令

  • unset :从解释器删除变量,他的后面可以有多个参数,每个参数可以是变量名,也可以是简单变量,可以是数字或者数组元素
  • append :命令将文本添加到一个变量的后面
  • incr :命令把一个变量加上一个整数,incr原来必须是整数
    在这里插入图片描述

表达式

tcl支持常用的数学函数,表达式终得数学函数写法类似与c\c++,多个参数采用,隔开
在这里插入图片描述

回顾

为了更加清楚规则这里通过代码的方式进行回顾

(bin) 1 % # 这里对上面的学习进行复习
(bin) 2 % # 置换
(bin) 3 % set a 1
1
(bin) 4 % set a 1; b 2
ambiguous command name "b": bell binary bind bindtags break button
(bin) 5 % set a 1; set b 2
2
(bin) 6 % set c a+10
a+10
(bin) 7 % set y $a+10
1+10
(bin) 8 % # 变量值换
(bin) 9 % set c [expr $x+100]
can't read "x": no such variable
(bin) 10 % set c [expr $a+100]
101
(bin) 11 % # 置换
(bin) 12 % set msg multiple space
wrong # args: should be "set varName ?newValue?"
(bin) 13 % set msg multiple\ space
multiple space
(bin) 14 % set msg1 "multiple space"
multiple space
(bin) 15 % set msg2 {mulplace space}
mulplace space
(bin) 16 % set msg3 "$a space"
1 space
(bin) 17 %

变量

(bin) 17 % set a 2
2
(bin) 18 % set a.1 3
3
(bin) 19 % set b ${a.1}

数组

•数组是一些元素的集合。TCL数组和普通计算机语言中的数组有很大的区别。在TCL中,不能单独声明一个数组,数组只能和数组元素一起声明。数组中,数组元素的名字包含两部分:数组名和数组中元素的名字,TCL中数组元素的名字(下标)可以为任何字符串。

set day(monday) 1;
set day(tuesday) 2;

• 第一个命令生成一个名为 day 的数组 , 同时在数组中生成 一个名为monday的数组元素,并把值置为1,第二个命令生成一个名为tuesday的数组元素,并把值置为2。

相关命令

• unset这个命令从解释器中删除变量,它后面可以有任意多个参数,每个参数是一个变量名,可以是简单变量,也可以数组或数组元素。

unset a b day(monday)
• append命令把文本加到一个变量的后面

set txt hello; #hello
append txt"! How are you"; #hello! How are you
• incr命令把一个变量值加上一个整数。incr要求变量原来的值和新加的值都必须是整数。

set b 2; incr b 3; #结果为5

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值