首页 > 解决方案 > tcl 中与列表关联的数组

问题描述

我是 TCL 脚本的初学者,我正在尝试将列表存储为关联数组的一部分,如下所示。

脚本:

set cellno 0
set red redcolor
set green greencolor
set blue bluecolor

set myVariable($cellno) {$red $green $blue}

puts [lindex $myVariable($cellno) 2]

问题:

出于某种原因puts [lindex $myVariable($cellno) 2],显示值如下

 $blue

代替

 bluecolor

标签: tcl

解决方案


这一行:

set myVariable($cellno) {$red $green $blue}

...不替换颜色变量,因为它们在大括号中。您可以使用双引号:

set myVariable($cellno) "$red $green $blue"

由于您将其用作列表 using lindex,因此最好list避免无意的分词(以及在空字符串或仅空格变量的情况下合并):

set myVariable($cellno) [list $red $green $blue]

推荐阅读