设置不正常

时间:2017-09-05 13:05:23

标签: list tcl

我的脚本中有一个lset命令存在此问题。我发出命令来替换列表中的特定值,我最终显示列表中的所有元素。

lset gamma_aa [expr int($index)] 0

而不是将列表中的$ index值更改为0值将在命令窗口中显示整个列表! List使用lrepeat

创建了一个列表
set gamma_aa [lrepeat [expr int($nbrx*$nbry)] 0.]

我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

lset命令返回列表的新内容,就像set返回变量的新内容一样。您(通常)可以忽略该返回值。

应该在该特定索引处实际设置该值。可能很难看出你设置它的值是否与以前在该索引处持有的值没有特别的不同,或者索引位置是否距离列表的开头很远。

另外,你真的不需要这样做:

lset gamma_aa [expr int($index)] 0

这应该适用于所有理智的案例:

lset gamma_aa $index 0