tcl 语法基础

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tcl 语法基础相关的知识,希望对你有一定的参考价值。

参考技术A 注释:

puts Hello, World - In Braces; # 这种注释方式才是正确的

puts Bad comment syntax example  # *Error* - there is no semicolon!这是一个错误,因为tcl的语法规定,命令的参数结束的方式为;或者新的一行

变量:

初始化一个变量用set关键字: 

 # set关键字可以接受两个参数:并返回第一参数(也就是变量名)的内容(第二个参数)

#set关键字也可以接受一个参数,如果只接受一个参数的时候返回这个变量的内容

set  x  10  # 定义变量x的值为10

set  y  x+100  # 定义变量y的值为 x+100  这里会把x+100 看成整体的一个字符串,这里可以看出tcl默认都认为是字符串来出来

set  y  $x+100  # 定义变量y的值为 10+100 ,这里$符号告诉解释器x是一个变量而不是字符串

set  y [expr  $x+100]  # 定义变量y的值为110,当tcl解释器遇到[] 的时候会去执行里面的内容并返回结果。

set  y  "$x   ddd" # 这里双引号的作用是允许这个字符串中有空格

set   y    $x 10   # 这里的x不会被解释,所以的作用是,直接定义 一整串字符串

puts:转义符

set Z Albany

set Z_LABEL "The Capitol of New York is: "

puts "$Z_LABEL $Z"  ;# Prints the value of Z

puts "$Z_LABEL \$Z"  ;# Prints a literal $Z instead of the value of Z

puts "\nBen Franklin is on the \$100.00 bill"

set a 100.00

puts "Washington is not on the $a bill"    ;# This is not what you want

puts "Lincoln is not on the $$a bill"      ;# This is OK

puts "Hamilton is not on the \$a bill"    ;# This is not what you want

puts "Ben Franklin is on the \$$a bill"    ;# But, this is OK

puts "\n................. examples of escape strings"

puts "Tab\tTab\tTab"

puts "This string prints out \non two lines"

puts "This string comes out\

on a single line"

数组:

set a [list 1 2 3 4]    # 初始化一个列表

lappend a 5 # 追加一个变量,注意这里的列表a没有加$ 

lindex $a 1 # 获取列表第二值,这里加上了$

llength $a  # 返回列表的长度

lrange $a 0 2 # 返回前三个数这里取到了第三个值

字符串格式化:

set name john

set age 20

set msg [format "%s is %d years old" $name $age] # 格式化

puts $msg

以上是关于tcl 语法基础的主要内容,如果未能解决你的问题,请参考以下文章

TCL编程的语法规则

TCL编程的语法规则

检查tcl脚本语法错误

如何写tcl脚本?谢谢

TCL基本语法

1 TCL脚本基本语法(概要)