2011-04-06 109 views

回答

5

只需設置任何其他變量數組元素:set myArray(key) "value"

下面是一個更完整的例子:

array set myArray { 
    key1 1234 
    key2 5678 
} 

echo $myArray(key1) 
set myArray(key1) "test" // Change an existing element 
set myArray(key3) "hello" // Add a new element 
echo $myArray(key1) 
+0

好了,但如果它是一個列表(值),我可以改變一個ELEM該列表沒有觸及列表中的其他元素? – Narek 2011-04-06 12:05:49

+0

你可以用'lreplace'(替換列表中的一個元素)函數來做到這一點。這將取代我的例子中的key1值的第二個列表元素(該值必須是當然列表,它不在我的例子中):set myArray(key1)[lreplace $ myArray(key1)1 1 「hello」]' – 2011-04-06 12:14:31

+2

而不是'lreplace',你可以使用'lset'。即'lset myArray(key1)1「新值」'。 – GrAnd 2011-04-06 12:58:54