TCL学习笔记(持续更新)

2024-01-07 17:22:13

前言:

TCL(tool common language)是一种通用工具语言,很多eda tool都支持tcl,学习了解一些tcl基本语法还是很有必要的。

1:基础概念

? ? ?解释器: #!/usr/bin/tclsh

? ? ?打印: puts -> puts "hello ,world"

? ? ?注释: 单行注释用 # ,多行可以用: if 0 {xxx}

? ? ?语法结构:commandName argument1 argument2 ... argumentN

? ? ?数据类型:只支持string类型

? ? ?变量类型:支持变量和数组,都不用提前申明,直接使用

TCL解释器对一个命令的求值分为了:分析和执行
分析:把命令分解为独立的单词,进行必要的置换动作。
执行:把第一个单词当做命令,查看这个命令是否有定义,有的话激活其对应的内部动作。

2: 基本语法操作?

2.1 替换

  1. 命令替换:下面是一个简单的例子,功能是相加:

    #!/usr/bin/tclsh
    
    puts [expr 1 + 6 + 9]
    
    //输出结果为:16

    当TCL解释器遇到字符 [?,它就会把随后expr作为一个命令名,从而激活expr对应的动作,如果我们去掉[],TCL会报错,正常情况下只把命令行中的第一个单词作为命令,注意[]中必须是一个合法的TCL脚本,长度不限。[]中的脚本的值为最后一个命令的返回值。

  2. 变量替换:在变量名之前加上$,功能是返回该变量的内容。

    #!/usr/bin/tclsh
    
    set a 3
    puts $a
  3. 反斜杠替换:很多其他脚本语言中也有,其实就是 转义
    #!/usr/bin/tclsh
    set a 3
    puts "\$a=$a"
    
    //结果:$a=3

    2.2 条件控制

? ? ? ? ? ? ? 1. if??

if {boolean_expression} {
   # statement(s) will execute if the boolean expression is true
} else {
   # other statement(s)
}
也可以嵌套:
if {boolean_expression 1} {
   # Executes when the boolean expression 1 is true
} elseif {boolean_expression 2} {
   # Executes when the boolean expression 2 is true 
} elseif {boolean_expression 3} {
   # Executes when the boolean expression 3 is true 
} else {
   # executes when the none of the above condition is true 
}

需要注意的是:else/elseif必须要和if的后面一个}在同一行。

? ? ? ? ? ? 2. switch

switch switchingString {
   matchString1 {
      body1
   }
   matchString2 {
      body2
   }
...
   matchStringn {
      bodyn
   }
}

2.3 循环

文章来源:https://blog.csdn.net/dajiao_zi/article/details/135390100
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。