私はこのようなスクリプトを持っています:
proc subProc1 { } {
puts $var1
}
proc subProc2 { } {
puts $var2
}
proc mainProc { args } {
# Define many variables
subProc1
subProc2
#etc.
}
subProc1 と subProc2 に、mainProc で定義された変数を持たせたいと考えています。それらを引数として渡すことはできますが、それは多くの引数であるため、避けたいと思います。
この行を subProcs に追加して、upvar コマンドを使用しようとしました。
subProc1 { } {
upvar $var1 var1 $var2 var2 ;#etc
puts $var1
# etc.
}
しかし、「そのような変数はありません」というエラーメッセージが表示され、このような巨大な行があるのは良くありません
名前空間について読んだばかりですが、これを使用する方法がよくわかりません (さらに、概念を理解していないので、私のユースケースに本当に適応していますか?)