2011-03-07 29 views
0

我有一个像这样在我的TCL一行代码:的Tcl:无效的命令名称错误

Application/BitTorrent set seqNo_ $opt(seqNo) 

..我有一个OTcl的类名是“应用程序/ BitTorrent的”,我得到这个错误...

 
invalid command name "Application/BitTorrent" 
    while executing 
"Application/BitTorrent set seqNo_ $opt(seqNo)" 

有人可以告诉我错误可能在哪里吗?

谢谢!

+0

现在有一个后续问题http://stackoverflow.com/questions/5226046/tcl-command-name-creation – 2011-03-08 01:23:51

回答

3

我讨厌成为一个明显的指出,但错误正是消息所说的:在错误发生时,没有名为“Application/BitTorrent”的命令。

这可能意味着以下三种情况之一:命令名称拼写错误,命令尚未创建或已被销毁,或存在但在当前上下文中不可见(例如,它存在在一些其他名称空间或尚未导入的包或文件中)。

+0

感谢您的快速回复!你能告诉基本语法来在tcl中创建一个命令吗?我其实是tcl的新手。 – 2011-03-07 21:46:22

+0

Tcl中的命令是使用proc创建的。你可以返回一个值(任何类型的Tcl变量)。您甚至可以通过定义具有相同名称和范围的proc来替换内置命令,所以要小心。 – 2011-12-01 22:41:54

0

除了Bryan Oakey指出的可能性之外,也许你正在对脚本运行一个ns可执行文件的错误副本。例如,您可能实际上正在使用/usr/bin/ns而不是使用内部编译的应用程序代码(通常为/ns-all-in-one/bin/ns)。要检查,如果这是在bash下的情况下,使用

type ns 

如果情况确实如此,而一个是领先于$PATH,那么就意味着在bash命令哈希已过时。您可以使用hash -d ns来删除旧的缓存。

相关问题