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 语法基础的主要内容,如果未能解决你的问题,请参考以下文章