为什么TCL脚本中的数组大小未通过数组大小<array_name>正确给出

时间:2017-05-31 12:08:25

标签: tcl

这里我有一个包含4个元素的数组,但它将值打印为11,那么大小如何变为11而不是4

array set ipname {UART TEST SPI I2C}
set bsize [array size ipname];
puts "$bsize"

1 个答案:

答案 0 :(得分:2)

array set(在你的情况下只生成两个元素!)不会删除数组的任何现有内容,前面必须有9到11个元素。如果我在裸tclsh中运行您的代码,则会打印2。如果我跟进parray,它会告诉我它做了什么:

% parray ipname
ipname(SPI)  = I2C
ipname(UART) = TEST