如何"set"和"puts"变量,其中的名称由字符串和另一个变量组成?

How to "set" and "puts" variable, which name consists of string and another variable?

我试图获取变量的值,该变量的名称由字符串“a”和迭代器“i”组成(在这个简短的示例中,我跳过了 for 循环)。我试图用 concat 和 append,用 [] 和 "" 来做,但没有任何效果。这个问题有解决办法吗?

set b0 0
set i 0
set a$i $b$i (here is my problem)
puts $a$i

输入应显示“0”

要从名称已计算的变量中读取,请使用 set 只有一个参数:

set a$i [set b$i]
puts [set a$i]

(真正意义上的 $ 是调用这种形式的 set 的句法 shorthand;实际上,$ 语法更新。)

但改用数组

在这种情况下,您几乎可以肯定重写代码以使用关联数组会更好。

set b(0) 0
set i 0
set a($i) $b($i)
puts $a($i)