如何在tcl中设置变量

时间:2012-02-21 14:39:44

标签: variables tcl

我看到有人以这种方式设置变量:

set selectRoom(1,deflt) 1 

这个selectRoom(1,deflt)意味着什么?这是怎么回事?

2 个答案:

答案 0 :(得分:3)

selectRoom是一个数组,1,deflt是索引。 要查看数组中设置的内容,可以使用parrayarray get命令。

答案 1 :(得分:1)

如前所述,selectRoom是一个数组,但我想扩展一下这个答案。

您可能会想到索引1,deflt表明这是一个二维数组。事实上并非如此; Tcl does not support multidimensional arrays。逗号符号只是Tcl程序员用来模拟多维数组的约定。逗号是字符串的一部分,而不是特殊的分隔符。

在Tcl中,数组有点像其他语言中的哈希映射。索引始终是一个字符串(因为everything is a string in Tcl)。这有另一个含义:它们没有被排序,所以当你迭代它们时你必须要小心。