无效的裸字错误
在 Tcl 本身中,不需要引用由单个单词组成的字符串。在 expr
计算的表达式字符串的语言中,所有操作数必须具有可识别的类型。
编写的数字操作数没有任何装饰:
expr {455682 / 1.96e4}
布尔常量也是如此:
expr {true && !false}
识别 Tcl 变量替换语法:操作数将设置为变量的值:
expr {2 * $alpha}
命令替换也是如此:
expr {[llength $alpha] > 0}
操作数也可以是数学函数调用,括号内有逗号分隔的操作数列表:
expr {sin($alpha)}
操作数可以是双引号或括号字符串。双引号字符串将被替换,就像在命令行中一样。
expr {"abc" < {def}}
如果操作数不是上述操作数之一,则是非法的。由于没有提示显示它是什么类型的提示,expr
发出一个赤字错误信号。