Tcl基础入门

Tcl基础入门

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

1 基础语法

一个TCL脚本可以包含一个或多个命令。命令之间必须用换行符或分号隔开。TCL的每一个命令包含一个或几个单词,第一个单词代表命令名,另外的单词则是这个命令的参数,单词之间必须用空格或TAB键隔开。command <varName> [<value>]

set a 1
set b 2
#或者
set a 1; set b 2

2 置换(substitution)

TCL解释器在分析命令的时候,把所有的命令参数都当作字符串看待

#定义变量x,并把x的值赋值为10
set x 10; #10
#y的值是x+10,不是我们期望的110
set y x+100; #x+100

x被看作字符串“x+100”的一部分,想要实现期望的“110”需要使用TCL语言中提供的置换功能:变量置换、命令置换、反斜杠置换

2.1 变量置换

变量置换用$符号标记,变量置换会将变量的值插入一个单词中。

#y的值是10+100,这里x被置换成它的值10
set y $x+100; #10+100

2.2 命令置换

命令置换使用[]括起来的TCL命令及其参数,命令置换将某一个命令的所有或部分单词被另一个命令的结果所替代。

#y的值是110,达到我们的期望
set y [expr $x+100]; #110

y的值是110,这里当TCL解释器遇到字符[时,它就会把随后的expr作为一个命令名,从而激活与expr对应的C/C++过程,并把expr和变量置换后得到的10+110传递给该命令过程进行处理。
如果在上例中我们去掉[],那么TCL会报错。因为在正常情况下,TCL解释器只把命令行中的第一个单词作为看作命令,其他的单词都作为普通字符串处理,看作是命令的参数。

2.3 反斜杠置换

类似于C语言中反斜杠\的用法,主要用于在单词符号中插入被TCL解释器当作特殊符号(换行符、空格、[、$等)对待的字符。

#msg的值为 multiple space
set msg multiple\ space; #multiple space
#不使用反斜杠会导致解释器将空格当作分隔符,认为set命令多于两个参数,从而报错。

反斜杠置换还有:

在这里插入图片描述

除了使用反斜杠外,TCL提供另外两种方法来使得解释器把分隔符和置换符等特殊字符当作普通字符,而不作特殊处理,这就要使用双引号""和花括号{}
TCL解释器对双引号中的各种分隔符将不作处理,但是对**换行符及$[]**两种置换符会照常处理。

set x 100
set y "$x ddd"; #100 ddd

3 变量

TCL提供两种变量:简单变量和数组

3.1 简单变量

一个TCL的简单变量包含两个部分:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值