0

我在 ns2 中使用 20 个节点,我正在尝试使用 for 循环访问 a(0) a(1) a(2) a(3) a(4) 变量我该怎么做

这是我的代码

for {set i 0} {$i < $val(nn)} {incr i} {
    set sink($i) [new Agent/LossMonitor]
    $ns attach-agent $n($i) $sink($i)

}

但它给出了一个错误错误变量名“sink(0)”:upvar 不会创建一个看起来像数组元素的标量变量

我以下列方式声明变量

proc record {} {
  global sink(0) sink(1) sink(2) sink(3) sink(4) sink(5)
}
4

1 回答 1

0

只需使用

global sink

(全局只是一个特例upvar

以(关联)数组结尾的变量,(...)不建议使用数字作为键,最好使用列表,例如

set mylist {}
# append some elements
lappend mylist "foo" "bar" "baz"
# get the 2nd element
puts [lindex $mylist 1]
# set the 3rd element to "Hello World"
lset mylist 2 "Hello World"
于 2013-11-07T22:17:17.207 回答