TCL中变量嵌套使用

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


版权声明:本文为sinat_27691203原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。