假设filevalue_ $ thefile是一个包含列表
的数组foreach element [array names thefilevalue_$thefile] {
puts "[lindex $thefilevalue_[subst $thefile]($element) 0]"
}
但它返回:
can't read "thefilevalue_": no such variable
我在tcl 8.4,我不能升级它。
我该如何解决?
由于
答案 0 :(得分:6)
使用set
并转义括号,例如
array set thefilevalue_test {reds {orange red purple} blues {green blue purple}}
set thefile test
foreach element [array names thefilevalue_$thefile] {
puts [lindex [set thefilevalue_$thefile\($element\)] 0]
}
这为我输出(Tcl 8.0.5,我也无法升级):
orange
green