Tcl通过连接命令和字符串来设置变量

Sta*_*tan 1 tcl variable-declaration

我想设置一个像这样的变量

puts [lindex $bar 0]  # prints bar0
set foo $[lindex $bar 0]_someString
Run Code Online (Sandbox Code Playgroud)

但打印foo变量没有得到foo中的值:

puts $foo  # prints $bar0_someString
# but I want the value in bar0_someString varialbe
# not the variable name.
Run Code Online (Sandbox Code Playgroud)

这是语法错误吗?声明变量是一种糟糕的编码风格吗?有一个更好的方法吗?

sle*_*man 5

请记住,这$x只是一个捷径set x.所以你也可以这样做:

set foo [set [lindex $bar 0]_someString]
Run Code Online (Sandbox Code Playgroud)