TCL语法中的array命令

本文转载自: FPGA打工人微信公众号

array命令:可以查询一个数组变量中已经定义的元素的信息。

array option arrayName ?arg arg ...?

根据option的不同,array命令会有多种不同的形式。

array startserach arrayName

参数为startserach时为了初始化一个对arrayName数组的所有元素的搜索,并返回一个搜索标识,该标识可以用于nextelement、anymore、donesearch参数。

array nextelement arrayName searchId

参数为nextelement时返回arrayName中下一个元素的索引,如果arrayName中所有元素的索引都已返回,则会返回空字符串。searchId是由option为search时的返回值。如果对数组元素添加或删除,则所有的搜索都会自动结束。

array anymore arrayName searchId

参数为anymore时如果在一个搜索中还有元素就返回1,否则返回0。searchId同上。

array donesearch arrayName searchId

参数为donesearch时终止数组搜索并销毁与该搜索关联的所有状态。searchId同上。

array exists arrayName

参数为exists时判断是否存在名为arrayName的数组,OK返回1,否则返回0。

array get arrayName ?pattern?

参数为get时返回索引与pattern匹配的元素对的列表。列表中奇数个元素是匹配的索引,其后的元素是索引对应的值。如果没有指定pattern,则返回所有元素。

array set arrayName list

参数为set时向数组中添加一个或多个元素,list由偶数个元素组成。奇数个元素被视为数组的索引,其后跟着的元素为索引对应的值。如果arrayName不存在且list为空,则使用空数组值创建数组arrayName。

array names arrayName ?pattern?

参数为names返回数组arrayName中和模式pattern匹配的元素的名字组成的一个list。如果没有pattern参数,那么返回所有元素。如果数组中没有匹配的元素或者arrayName不是一个数组的名字,返回一个空字符串。

array size arrayName

参数为size时返回代表数组元素个数的一个十进制的字符串,如果 arrayName不是一个数组的名字,那么返回0。

最新文章

最新文章