2012-03-16 59 views
2

我有一組變量是我嘗試搜索的字節列表。如何在TCL中將2個變量名連接成1個名字?

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中,但是我似乎並沒有獲取這些內容。

回答

6

嘗試這種情況:

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

set命令返回令牌,該令牌是foo0foo1等的值。

+0

完美!謝謝! – 2012-03-16 15:47:41

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)" 
} 
+0

在我的情況下,我實際上導入了foo變量,所以我被這些foo 名稱卡住了。感謝你的回答。 – 2012-03-16 17:48:03