【发布时间】:2016-03-18 00:18:13
【问题描述】:
我正在尝试在 tclsh 中执行以下代码:
set t 2
if { $t > 0 || $t < 30 || $t < 20 } { puts yes }
在 tclsh shell 中,我收到以下错误:
syntax error in expression " $t > 0 || $t < 30 || $t < 20 ": character not legal in expressions
这里不合法的字符是什么?我怀疑 '
if { $t > 0 } { puts yes }
我按预期打印了“是”。
【问题讨论】:
-
请注意,您的逻辑对
t的所有值都有效,因为 -1 小于 30 而 1000000 大于 0。请注意 OR 和 AND 的形式含义(实际上是与语言含义相同,但作为人类,我们经常粗心地使用语言并错误地使用 OR 和 AND,尽管即使我们在逻辑上不正确,其他人似乎也能神奇地理解我们的意思)