1. 准备工作

1. 1 修改work路径,并执行对应的tcl文件。我们正常应该是在文本编辑器中(notepad++),编辑TCL脚本,再用tclsh运行。

 cd c:/GAOP/tcltk/
dir
source 001.tcl

2. 基本语法

2.1 字符替换的规则

a) 解析器 解析一条tcl命令时,解析器是从左往右解析1次,进行1轮替换,每个字符只会被扫描一次。

b)每个字符只会发生1层替换,不会对替换后的结果再进行1轮替换

2.2 符号

$

变量置换;$符号后的内容会解析为变量,$a  表示取a的值

[]

命令置换; []内是一个独立的TCL语句

\

反斜杠置换;换行符、空格、[、$等被TCL解释器当作特殊符号对待的字符, 加上反斜杠后变成普通字符。用\t表示TAB。  用\n表示换行符

""

TCL解释器对双引号中$和[]符号会进行变量置换和命令置换。不会操作空格等。

{}

所有特殊字符都将成为普通字符

变量


定义:set 变量名 变量值 

取值:$变量名


数组


定义:set 数组名(元素名) 值  

取值:$数组名(元素名)


列表


定义 set 列表名 {元素1 元素2 元素3……}

取值 $列表名

索引从0开始不是从1开始


数学运算

+-*/

逻辑运算

<=     ==      >=    !=

条件判断

if {判断条件} { 脚本语句 } elseif {判断条件} { 脚本语句 } else { 脚本语句 } 上例中脚本语句的'{'一定要写在上一行,因为如果不这样,TCL 解释 器会认为if命令在换行符处已结束,下一行会被当成新的命令,从而导致错误

【TCL002】tcl入门第一节课_列表【TCL002】tcl入门第一节课_数组_02

2.3 选择操作符

expr {(1>2) ? 1:2}

注意其中的(),没明白什么时候可以使用()

2.4 进制表示数值

set bin_var  0b0101
set oct_var  0o07
set oct_var  07
set dec_var  7
set hex_var  0x0A

0开头的数字为了兼容老版本,会解析为8进制。

2.5 预定义的变量

puts "$argv0 " 存放脚本文件的文件名
puts "$argv " 参数的列表形式存储
puts "$argc "参数的个数

puts "$env(HOME) "当前目录
puts "$tcl_platform(platform) "
puts "$tcl_platform(os) "
puts "$tcl_platform(machine) "

2.6 比较两个字符串

if {"aaa" eq "aaa"} {
puts "eq"
}

字符串严格比较,要完全相等,不能多不能少

 



 ​