5

如果我有一个字段名称为“字段名称”的结构,是否可以仅使用变量访问该字段中的数据?

IE。

x = '字段名'

有可能吗

data = struct.(x) 以某种方式?我想使用 x 中的字符串作为字段名称。

4

1 回答 1

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 的结构查找中阻塞。

于 2010-05-10T22:10:28.080 回答