TCL中变量嵌套使用
在使用多重嵌套变量时候,因为 {} 对于tcl来说属于非运算符号,因此在使用变量嵌套,直接调用会出现问题
即变量不能正确调用:
set mm_list "0 1"
set nn_list "2 3"
set index "mm"
puts $${index}_list
结果:
>>$mm_list
解决方法有两种:
1. 采用eval 方式,通过执行命令的形式,将变量赋值进去
2. 采用数组的方式,可以通过变量嵌套的方式进行调用
1. 采用eval方式
eval puts $${index}_list
结果:
>>0 1
2. 采用数组方式
array set list_ ""
set list_(mm,test) "0 1"
set list_(nn,test) "2 3"
set index "mm"
puts $list_($index,test)
结果:
>>0 1