【TCL002】tcl入门第一节课

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命令在换行符处已结束,下一行会被当成新的命令,从而导致错误

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"
}

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

3. 参考网站

PPT

https://customizablecomputinglab.gitee.io/2020/08/07/class-STA/

视频教程

https://www.bilibili.com/video/BV1if4y1p7Dq?p=2&spm_id_from=pageDriver

https://xueying.blog.csdn.net/article/details/103788604

https://www.yiibai.com/tcl/tcl_procedures.html


下一篇 【TCL003】tcl入门第二节课

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_1615549892

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值