ns:217:执行“217”时命令名称“217”无效

ns: 217: invalid command name "217" while executing "217"

我正在使用 NS2.35 模拟无线传感器网络,但收到一条错误消息

ns: 217: 命令名称“217”无效 在执行时 "217"

我的 tcl 文件中没有使用过这样的命令吞吐量。任何人都可以帮助我为什么会收到此错误?

无效的命令名称“217”:

“217”是 'ns' 可执行文件中的内部命令。

请告诉您对 ns-2.35/ 做了哪些更改(如果有的话)。 (无线传感器网络?)

请将您的 "wsn.tcl" 文件上传到例如'Google Docs'.

您可能使用了一个包含数值的变量作为命令名称,可能是将其放在行首或将其放在 [方括号] 周围(因为方括号做命令替换)。括号甚至可以嵌入字符串中:

这个例子说明了我的意思:

set xyz 217
puts "This is [$xyz] in brackets"

如果你想在变量周围打印一些文字括号,你必须添加一些反斜杠:

set xyz 217
puts "This is \[$xyz\] in brackets"

问题 也可能 如果你有一个命令 returns 217 并且你在它的开头用括号括起来一行(或其他需要命令的地方):

proc xyz {} {
    return 217
}
[xyz]

您没有向我们展示您的代码,所以它究竟是哪种可能性……我们无法判断。但我敢打赌,这将是这些问题之一。 Tcl 关心它的语法字符,并且非常严格地确保他们按照他们所说的去做。