如果我有一个带有字段名'fieldname'的结构,是否可以仅使用变量来访问该字段中的数据?
即
x ='fieldname'
可以吗
data = struct。(x)以某种方式?我想在x中使用字符串作为字段名称。
答案 0 :(得分:7)
是的,可以使用TAG_NAMES
功能:
tnames=TAG_NAMES(struct)
tindex=WHERE(STRCMP(tnames,'fieldname') EQ 1)
data=struct.(tindex)
对TAG_NAMES
的调用返回表示struct
中定义的标记的字符串数组。
WHERE
语句返回匹配tnames
的字符串'fieldname'
中的索引。
最后,索引被传递给struct.(tindex)
操作,该操作通过提取字段
它的数字标签索引。
当然,在实际的应用程序中,您需要检查tindex
是否成功
匹配到某些东西,否则IDL将使用索引阻止结构查找
-1。