我有两个触发器:从MAIN
我调用另一个proc Glob
。
$Allforces
是一个列表清单。
proc ::MAIN {} {
# something
::Glob $AllForces
}
proc ::Glob {Input} {
upvar $Input AllForces
# do something
}
我将“No such variable
”作为我的attemt错误upvar
。
所以我试过了:
upvar $InputMPCForces ::MAIN::AllForces
然后我得到:“upvar won't create namespace variable that refers to procedure variable
”
如何通过引用从AllForces
中的MAIN
访问Glob
?
答案 0 :(得分:4)
你需要像这样调用你的proc:
::Glob AllForces
即,您传递变量的名称,而不是其值。
然后,在proc中,upvar
命令将获取其名称为局部变量input
的值的变量,并使其在本地作为AllForces