Tcl 调用编号变量 [英] Tcl calling numbered variable
本文介绍了Tcl 调用编号变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在 Tcl 中,我为循环中的编号变量赋值.我如何在另一个循环中调用这些变量
In Tcl, I assigned values to numbered variables in a loop. how can I call these variables in another loop
for {set colNum 1} {$colNum < 37} {incr colNum} {
set Col$colNum 0
}
for {set colNum 1} {$colNum < 37} {incr colNum} {
puts "$Col$colNum"
}
推荐答案
如果它们在同一个命名空间,那么你可以这样使用set
:
If they are in the same namespace, then you can use set
in this way:
for {set colNum 1} {$colNum < 37} {incr colNum} {
set Col$colNum 0
}
for {set colNum 1} {$colNum < 37} {incr colNum} {
puts [set Col$colNum]
}
<小时>
但通常,您可能希望避免这样做并使用 array
s 代替:
for {set colNum 1} {$colNum < 37} {incr colNum} {
set Col($colNum) 0
}
for {set colNum 1} {$colNum < 37} {incr colNum} {
puts $Col($colNum)
}
或者使用 upvar
创建一个别名(我使用 upvar
到全局命名空间,#0
,在下面的例子中):
Or use upvar
to create an alias (I'm using upvar
to the global namespace, #0
, in the below example):
for {set colNum 1} {$colNum < 37} {incr colNum} {
set Col$colNum 0
}
for {set colNum 1} {$colNum < 37} {incr colNum} {
upvar #0 Col$colNum currentCol
puts $currentCol
}
这篇关于Tcl 调用编号变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文