如何使用两个不同的变量在TCL中形成一个新变量?

时间:2013-10-02 14:34:28

标签: variables tcl

我在TCL中有以下代码:

set number1 1
set number2 2
set number3 3
set array1 2
set array2 3
set array3 4

那么我如何使用变量number1形成变量array1,例如:

$array$number1

我想要的是使用$number1$array的值来形成变量$array1

2 个答案:

答案 0 :(得分:3)

您可以使用以下语法:

set number1 1
set array$number1 2

获取值为{2}的变量$array1

% puts $array1
2

如果你想用变量检索变量的值,你可以这样做:

% puts [set array$number1]
2

答案 1 :(得分:3)

可以这样做,如@Jerry

所示

应该做的是使用数组:

set indexes {1 2 3 4}
array set array {}
foreach idx $indexes {
    set array($idx) [expr {$idx + 1}]
}
parray array
array(1) = 2
array(2) = 3
array(3) = 4
array(4) = 5