Tcl命令格式
一条Tcl的基本语法为:
command arg1 arg2 ....
注释都是#开始。注意字符串中如果有空格的糊,一定要使用""或者{}括起来。这是由于Tcl语句中各命令参数是以空格来分隔的。如果不括起来,则会被认为是多余的参数而出错。
puts
puts ? -nonewline ?? channelld string
Tcl的输出命令是puts,将字符串输出到标准输出channelld。语法中两个问号之间的参数为可选参数。-nonewline表示不输出回车换行
puts -nonewline "hello hello"
输出结果为:
hello hello
set & unset
语法为:
set varName [value] /// unset varName
set—变量定义和赋值命令,不必指定变量值的类型,因为变量值的类型仅有字符串,为变量赋值时,会为变量开辟一段内存空间来存储变量值。
unset命令则是取消变量定义,并释放变量所占的内存空间。通过前置符,可以引用变量的值,即替换。
替换
$
Tcl对替换只进行一遍解释,对嵌套的"$"不予理睬。
[]
方括号【】完成命令替换,用【】将一条命令括起来,命令执行完成后,返回结果。在下面例子中,把set a 5的命令输出结果赋给b。且将乘积结果赋值给c。
“” and {}
双引号和花括号可以将多个参数组织成一个参数,也是一种替换操作。一般而言,在” “内的替换正常进行,而在{}内的替换有可能会被阻止。
\
反斜杠的作用是引用特殊字符、续行。
尽管Tcl是基于字符串操作的,但是它仍旧提供了有效数学运算和逻辑运算的功能。通过命令expr可以实现对数学表达式的分析和计算。
数学和逻辑运算符
逻辑运算符:
数学函数:
下面是具体的数学运算的例子:
执行结果为:
1
1.6666666666666667
incr
incr命令更具指定的步长来增加或者较少参数的值,当步长为负时,减少参数值;当步长为正数时,增加参数值,默认步长+1。