TCL学习笔记(持续更新)

前言:

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 循环

你可能感兴趣的:(技术百科,tcl)