2

我有两个 proc:从MAIN我调用另一个 proc Glob$Allforces是列表的列表。

proc ::MAIN {} {  
    # something
    ::Glob $AllForces
}

proc ::Glob {Input} {
    upvar $Input AllForces
    # do something
}

我得到“ No such variable”作为我尝试的错误upvar。所以我尝试了:

upvar $InputMPCForces ::MAIN::AllForces

然后我得到:“ upvar won't create namespace variable that refers to procedure variable

如何通过引用AllForcesMAINin访问?Glob

4

1 回答 1

4

你需要像这样调用你的proc:

::Glob AllForces

也就是说,您传递变量的名称,而不是其值。

然后,在 proc 中,该upvar命令将获取名称为局部变量值的变量input,并将其作为 AllForces 在本地可用

于 2013-07-05T15:03:18.220 回答