逻辑非运算符

my_*_*ion 3 tcl

来自C/C++的土地,我想知道为什么以下不起作用:

set a 111
if {! $a eq {} } {
  puts hi
}
Run Code Online (Sandbox Code Playgroud)

我知道,如果我改变第二行,if { $a ne {} } {那么它很好,但不能包围我为什么"!" 不起作用.

Pet*_*Guo 7

这是因为在Tcl中,!优先级高于ne,因此首先进行评估.

您可以查看此链接以获取Tcl运算符优先级的完整列表.