tcl脚本无法从数组中读取元素?

时间:2017-05-31 12:11:41

标签: tcl

我正在使用一个数组并使用tcl脚本打印它的值,但是当我运行脚本时说  can't read "ipname(0)": no such element in array

以下是我正在使用的代码

array set ipname {UART TEST SPI I2C}
set asize 4
for {set i 0} {$i < $asize} {incr i}  {
      puts "$ipname($i) "
}

1 个答案:

答案 0 :(得分:0)

您的array set命令没有按照您的想法执行。从本质上讲,就像您将其定义如下:

ipname("UART") = "TEST"
ipname("SPI") = "I2C"

你想要的是

set ipname(0) "UART"
set ipname(1) "TEST"
set ipname(2) "SPI"
set ipname(3) "I2C"

array set ipname {0 UART 1 TEST 2 SPI 3 I2C}

请参阅Tcl阵列的文档:http://tcl.tk/man/tcl8.5/TclCmd/array.htm