创建一个列表,其中某些成员是已定义变量的值

时间:2017-11-06 20:32:09

标签: list tcl

我已经声明了一个名为" _numCols"的变量。并设置为某个整数值(即10)。我试图将这个变量包含在名为" arry_in"的列表中。以下方式:

set arry_in {-1 1 $_numCols $_numCols}

但是当我显示" arry_in"的值时在索引2和3处,它显示$ _numCols而不是10. Shouldn&#t; t $ sign给我_numCols的值?

1 个答案:

答案 0 :(得分:1)

大括号会阻止替换它们之间的内容(它类似于shell语言中的单引号)。

请尝试其中之一:

set arry_in [list -1 1 $_numCols $_numCols]
set arry_in "-1 1 $_numCols $_numCols"

双引号会在很多情况下发生,但会折叠替换为字符串的列表内容:

% set x [list foo [list bar baz]]
foo {bar baz}

% set x "foo [list bar baz]"
foo bar baz

有时你想要一个,有时候想要另一个。

文档: Summary of Tcl language syntax