如何"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)
我试图获取变量的值,该变量的名称由字符串“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)