Tcl упвар к переменной в другом процессе
У меня есть две процедуры: от MAIN
Я называю другой процесс 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
"
Как я могу получить доступ AllForces
от MAIN
в Glob
по ссылке?
1 ответ
Решение
Вы должны назвать свой процесс следующим образом:
::Glob AllForces
то есть вы передаете имя переменной, а не ее значение.
Затем в процедуре upvar
Команда примет переменную, имя которой является значением локальной переменной input
и сделать его доступным локально как AllForces