IDL:访问使用存储在变量中的字段名称结构领域?
-
25-09-2019 - |
题
如果我有一个字段名“字段名”的结构体,是有可能访问仅使用可变该字段中的数据?
即
X = '字段名'
是有可能做
数据=结构体。(X)以某种方式?我想用在字符串中x作为字段名。
解决方案
是,这是可能的使用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。
不隶属于 StackOverflow