数字IC学习:Tcl基础

摘要

  • Tcl的简介
  • Tcl的语言结构

1. Tcl简介

        Tcl(Tool Command Language)是一种非常流行的脚本语言,常用于开发用户接口和嵌入式系统平台的应用程序。TCL具有多种语言结构:变量、列表、表达式与运算符、控制流语句、过程。

2. Tcl变量

        Tcl变量是ASCII字符串,变量使用set命令来分配。

set abc "1234"    #将1234赋值给变量abc

put $abc   #将打印出1234

3. Tcl列表

        Tcl列表是对象的集合,可以对列表进行添加、索引、搜索。

set gates [list AND OR NOT NAND NOR]   #创建列表

set gates [lappend gates XOR]  #将另一个项目添加到列表中

puts [lsearch $gates NOT]  #在列表中搜索,将返回列表中匹配的索引,此处为返回2

puts [lsearch $gates XNOR]  #此处返回-1,因为找不到匹配项

4. Tcl表达式与运算符

        Tcl使用expr命令对表达式求值

set x 10;

expr {$x+20} ; #返回的值为30

        Tcl中支持的运算符

运算符描述
- + ~ !一元减、一元加、按位取反、逻辑非
+ - * /加、减、乘、除
**指数
< > <= >= === !=关系运算符:小于、大于、小于或等于、大于或小于、等于、不等于
eq ne比较两个字符串相等(eq)或不相等(ne)
in ni检查列表中包括(in)或不包括(ni)字符串的运算符,返回1为真,0为假
& | ^按位与、或、异或
&& ||逻辑与、或
<< >>左移或右移

5. Tcl的控制流语句

        Tcl的控制流语句结构组成:列表遍历、决策、循环、子程序。

5.1列表遍历

set gates [list AND OR NOT NAND NOR]

set index 1

foreach element $gates {

puts "Gate $index in the list is $element"

incr index;  #index自动加一

}

结果如下:

Gate 1 in the list is AND

Gate 2 in the list is OR

Gate 3 in the list is NOT

Gate 4 in the list is NAND

Gate 5 in the list is NOR

5.2 决策

if {$freq < 330} {

puts "AAA"

} elseif {$freq > 330} {

puts "BBB"

} else {puts "CCC"}

5.3 Tcl循环

for <初值> <条件> <下一步> {

<语句体>

while <条件>{

<语句体>

5.4 Tcl过程

proc sum {addend1 addend2} {

set value [expr {$addend1} + {$addend2}]

return $value

}

#调用过程

set x [sum 5 10]

put $x  # 将打印出15

6. 其他Tcl命令

命令描述
open / close

打开和关闭文件

set fhandle [open "file.txt" w]

close $fhandle

gets / puts获取字符串或打印字符串
catch从一条命令中捕获错误命令,以防止Tcl shell退出
info

从Tcl解释器获取信息所使用的命令

info exists <name>:如果name作为变量存在,则返回1,否则返回0

source

获取Tcl文件或脚本的源命令

incr增加索引命令
exit从Tcl shell退出命令
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值