目录
操作数
运算符和优先级
数学函数
操作数
TCL 表达式的操作数通常是整数或实数。整数一般是十进制的, 但如果整数的第一个字符是 0(zero),那么 TCL 将把这个整数看作八进制的,如果前两个字符是 0x 则这个整数被看作是十 六进制的。TCL 的实数的写法与 ANSIC 中完全一样。如:
2.1
7.9e+12
6e4
3.
运算符和优先级
下面的表格中列出了 TCL 中用到的运算符,它们的语法形式和用法跟 ANSIC 中很相似。这里就不一一介绍。下表中的运算符是按优先级从高到低往下排列的。同一格中的运算符优先级相同。
数学函数
TCL 支持常用的数学函数,表达式中数学函数的写法类似于 C\C++语言的写法,数学函数的参 数可以是任意表达式,多个参数之间用逗号隔开。例如:
set x 2
输出:2
expr 2* sin($x<3)
输出:1.68294196962
其中 expr 是 TCL 的一个命令,语法为: expr arg ?arg ...?
两个 ?之间的参数表示可省,后面介绍命令时对于可省参数都使用这种表示形式。 expr 可以 有一个或多个参数,它把所有的参数组合到一起,作为一个表达式,然后求值:
expr 1+2*3
输出:7
expr 1 +2 *3
输出:7
TCL支持的数学函数如下:
TCL 中有很多命令都以表达式作为参数。最典型的是 expr 命令,另外 if、while、for 等循环控 制命令的循环控制中也都使用表达式作为参数。