【问题标题】:Many OR statements in tclshtclsh 中的许多 OR 语句
【发布时间】: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,尽管即使我们在逻辑上不正确,其他人似乎也能神奇地理解我们的意思)

标签: tcl tclsh


【解决方案1】:

你的代码是有效的,我会检查你的编辑器的设置。

【讨论】:

    【解决方案2】:

    所有可见字符都是合法的。它可能是某种看不见的空间或类似的东西; Tcl 8.4 基本上只在表达式中正确处理了 ASCII(在引用的常量之外)。

    【讨论】:

      猜你喜欢
      • 2022-06-19
      • 1970-01-01
      • 1970-01-01
      • 2014-05-22
      • 1970-01-01
      • 2015-05-16
      • 2021-05-13
      • 2014-07-06
      • 2019-10-12
      相关资源
      最近更新 更多