本文转载自: 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。