我想知道哪些节点是红色的,所以我有这个不执行的脚本。
for {set i 0} { $i < $14 } {incr i } {
if {$ns at 0.0 "$n($i) color red"}{
return $n($i)
}
}
我收到此错误:
错误:缺少close-blace:执行时注释中可能存在不平衡的大括号。
我该如何解决这个问题?
答案 0 :(得分:0)
这一行有两个语法问题,其中一个问题导致你现在遇到问题,另一个会在你修复问题后立即出现问题。在闭括号后面需要一个空格,以便将表达式单词与正文单词分开--Tcl关心在关键位置有空格 - 并且调用if
条件内的命令需要用方括号括起来。
if {$ns at 0.0 "$n($i) color red"}{
可行的最小修复方法是:
if {[$ns at 0.0 "$n($i) color red"]} {
我怀疑这不起作用,因为命令没有给出布尔值,但是在你添加括号和空格之前它肯定不会工作
答案 1 :(得分:0)
许多颜色设置可以在例如NS-2.35 / TCL / EX / WPAN / wpan_demo5.tcl
查找示例:cd [folder-with-examples.tcl] && grep -n "color red" *
红色节点的AODV示例:{aodv10ms.tcl,aodv10nodes.tcl,SoniaLamba-aodv.tcl}→aodv-examples-06.17.tar.gz .... aodv10nodes.tcl片段:
# Provide initial location of mobile nodes
$node_(0) set X_ 50.0
$node_(0) set Y_ 1.0
$node_(0) set Z_ 0.0
$node_(0) shape box
$node_(0) color red
$ns_ at 0.0 "$node_(0) shape box"
$ns_ at 0.0 "$node_(0) color red"
$ns_ at 0.5 "$node_(0) setdest 50.0 499.0 10.0"
所有~2000个例子都是here.