2
假設我在TCL中有一個數組,並且我想要更改具有「First_elem」鍵的元素的值。我如何做到這一點?如何替換/重置TCL數組中的元素值?
假設我在TCL中有一個數組,並且我想要更改具有「First_elem」鍵的元素的值。我如何做到這一點?如何替換/重置TCL數組中的元素值?
只需設置任何其他變量數組元素: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)
好了,但如果它是一個列表(值),我可以改變一個ELEM該列表沒有觸及列表中的其他元素? – Narek 2011-04-06 12:05:49
你可以用'lreplace'(替換列表中的一個元素)函數來做到這一點。這將取代我的例子中的key1值的第二個列表元素(該值必須是當然列表,它不在我的例子中):set myArray(key1)[lreplace $ myArray(key1)1 1 「hello」]' – 2011-04-06 12:14:31
而不是'lreplace',你可以使用'lset'。即'lset myArray(key1)1「新值」'。 – GrAnd 2011-04-06 12:58:54