2017-09-05 63 views
0

我的腳本中有一個lset命令出現此問題。 Wheter我發出命令來替換列表中的特定值,我最終顯示列表的所有元素。lset無法正常工作

lset gamma_aa [expr int($index)] 0 

而不是將列表中的$索引值更改爲0值將在命令窗口中顯示整個列表! 列表創建使用L重複

set gamma_aa [lrepeat [expr int($nbrx*$nbry)] 0.] 

一個列表我錯過了什麼?

+2

那怎麼LSET作品。它更改一個元素並返回整個(更新的)列表值。 –

+0

哦,謝謝你的信息! – John

回答

0

lset命令返回列表中的新內容,就像set返回變量的新內容一樣。您可以(通常)忽略該返回值。

該特定索引值的實際設置應該已經發生。可能很難判斷您設置的值是否與先前在該索引處保留的值不同,或者索引位置距列表的起始位置很遠。


此外,你真的不需要做:

lset gamma_aa [expr int($index)] 0 

這應在所有理智的情況下工作,以及:

lset gamma_aa $index 0