TCL 在 _@_ 缺少操作员
TCL missing operator at _@_
所以我遇到了以下问题我应该摆脱以下 lsearch
if {[lsearch -inline ${:edges} $m$n] ne ""}
我应该用 in/ni
替换它
但是当我尝试这样做时:
if {$m$n in ${:edges} ne ""}
我收到以下错误消息:
missing operator at _@_
in expression "$m_@_$n in ${:edges} ne """
这应该不是最大的问题,但我仍然无法弄清楚 - 因为我对 tcl 和一般编程还很陌生。
感谢您的帮助
BR
表达式,与一般的 Tcl 不同,不是 那样连接字符串。相反,他们寻找运算符等(并且 _@_
标记 其中 表达式解析器正在寻找运算符,以防您需要被告知)。这是一种权衡,以确保事物在语法上保持明确,但我不太记得强制它的确切情况。
虽然有一个简单的解决方法;在要连接的内容周围加上双引号,如下所示:
if {"$m$n" in ${:edges}}
(您可能也不想将 in
和 eq
链接在一起;这是 合法的, 但不太可能按照您的意愿行事。)
所以我遇到了以下问题我应该摆脱以下 lsearch
if {[lsearch -inline ${:edges} $m$n] ne ""}
我应该用 in/ni
替换它但是当我尝试这样做时:
if {$m$n in ${:edges} ne ""}
我收到以下错误消息:
missing operator at _@_
in expression "$m_@_$n in ${:edges} ne """
这应该不是最大的问题,但我仍然无法弄清楚 - 因为我对 tcl 和一般编程还很陌生。
感谢您的帮助
BR
表达式,与一般的 Tcl 不同,不是 那样连接字符串。相反,他们寻找运算符等(并且 _@_
标记 其中 表达式解析器正在寻找运算符,以防您需要被告知)。这是一种权衡,以确保事物在语法上保持明确,但我不太记得强制它的确切情况。
虽然有一个简单的解决方法;在要连接的内容周围加上双引号,如下所示:
if {"$m$n" in ${:edges}}
(您可能也不想将 in
和 eq
链接在一起;这是 合法的, 但不太可能按照您的意愿行事。)