0

假设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 中,我不会升级它。

我该如何解决?

谢谢

4

1 回答 1

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
于 2012-08-10T14:24:38.807 回答