是否可以在tcl列表声明中使用变量? 我有以下简单的例子:
set grape_color "green"
set produce_list {\
{ PRODUCE COLOR REGION }\
{ APPLE "red" TX }\
{ GRAPE $grape_color CA }\
}
puts $produce_list
代码的输出是:
{ PRODUCE COLOR REGION }
{ APPLE "red" TX }
{ GRAPE $grape_color CA }
但是我希望列表中的“绿色”代替$grape_color
。
答案 0 :(得分:5)
一种方法是使用list
命令。
set grape_color green
set produce_list [list \
[list PRODUCE COLOR REGION] \
[list APPLE red TX] \
[list GRAPE $grape_color CA]]
另一种方法是使用subst
命令。
set grape_color green
set produce_list {
{ PRODUCE COLOR REGION }
{ APPLE red TX }
{ GRAPE $grape_color CA }
}
set produce_list [subst -nobackslashes -nocommands $produce_list]