如何在TCL中将2个变量名称连接成1个名称?

时间:2012-03-16 15:19:56

标签: tcl

我有一组变量,这些变量是我试图搜索的字节列表。

set foo0 [list 0 1 2]
set foo1 [list 3 4 5]
set foo2 [list 6 7 8]
set fooCount 3

for { set z 0 } { $z<$fooCount} { incr z } { 
    tbf str "foo$z: foo$z"
}

我想打印出来:

foo0: 0 1 2
foo1: 3 4 5
foo2: 6 7 8

但我明白了:

foo0: foo0
foo1: foo1
foo2: foo2

我尝试将打印行更改为

tbf str "foo$z: $foo$z"

但是后来我得到一个没有变量foo的错误。我也尝试将所有foo变量复制到fooList中,但我似乎也没有获取内容。

2 个答案:

答案 0 :(得分:6)

试试这个:

tbf str "foo$z: [set foo$z]"

set命令返回该令牌的值,即foo0foo1等等。

答案 1 :(得分:0)

使用数组,也很容易:

set foo(0) [list 0 1 2]
set foo(1) [list 3 4 5]
set foo(2) [list 6 7 8]
set fooCount 3

for { set z 0 } { $z<$fooCount} { incr z } { 
    tbf str "foo($z): $foo($z)"
}