我有一个这样的脚本:
proc subProc1 { } {
puts $var1
}
proc subProc2 { } {
puts $var2
}
proc mainProc { args } {
# Define many variables
subProc1
subProc2
#etc.
}
我希望 subProc1 和 subProc2 在 mainProc 中定义变量。我可以将它们作为参数传递,但这是很多参数,我想避免这种情况。
我尝试使用 upvar 命令,将这一行添加到我的 subProcs :
subProc1 { } {
upvar $var1 var1 $var2 var2 ;#etc
puts $var1
# etc.
}
但是我有“没有这样的变量”错误消息,而且有这样的大行并不好
我刚刚阅读了有关命名空间的信息,但我并不真正了解如何使用它(另外我不确定这个概念,所以它真的适合我的用例吗?)