如何在IDL中为结构变量的成员添加新值?
在IDL中为结构变量成员追加数组值的方法
IDL中没有直接提供类似add()的方法来给结构的数组成员追加元素,你需要通过数组拼接的方式实现:
基础实现方式
针对你给出的结构:
struct = {structname, x:[1,2,3], y:[10,11,12]}
要为x成员追加[4,5,6],直接用数组拼接赋值即可:
struct.x = [struct.x, 4, 5, 6]
用变量存储新值的写法
如果新值是预先定义好的数组变量,写法如下:
new_x_values = [4, 5, 6] struct.x = [struct.x, new_x_values]
补充说明
IDL中的结构属于值类型,修改成员时会重新生成结构实例,但上述写法是最简洁高效的实现方式。如果需要对数组做更复杂的操作(比如去重、排序),可以先将成员数组取出处理,再重新赋值给结构成员。
内容的提问来源于stack exchange,提问作者Sky S
相关产品推荐
相关产品推荐

