我已经开发了一些代码,并且在 Linux 机器上遇到了 Tcl 解释器错误标记的问题。
#!/usr/bin/tclsh
if {1} {
puts "abc1"
} elseif {} {
puts "abc2"
}
上面的代码没有标记错误"elseif"
条件,直到进入elseif
健康)状况。
有什么方法可以检查这种无意中发生的打字错误。
Tcl 在编译时没有发现错误,并且在上面的示例中它可以确定它永远不需要检查elseif
首先的条款;它只是先解决这个问题puts
直接地。
现在,在存在一个不平凡的第一个条件的情况下,情况是elseif
表达量在达到之前不会被报告。这就是 Tcl 的语义——尤其是if
命令——已定义;执行命令时会报告计算错误(与粗略的主要语法相反)。我可以理解您对此的沮丧,并建议您查看Tcler 的 Wiki 页面 http://wiki.tcl.tk/3162静态语法分析工具,它可以为您标记潜在的问题(在几乎总是正确的非常适度的假设下)。特别是,我听说过一些好消息Frink http://catless.ncl.ac.uk/Programs/Frink/ and TDK 中的检查工具 http://www.activestate.com/tcl-dev-kit(后者是商业工具,但质量非常高)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)