Sì, questo è possibile tramite la funzione TAG_NAMES
:
tnames=TAG_NAMES(struct)
tindex=WHERE(STRCMP(tnames,'fieldname') EQ 1)
data=struct.(tindex)
La chiamata a TAG_NAMES
restituisce un array di stringhe che rappresentano i tag definiti in struct
. L'istruzione WHERE
restituisce l'indice in tnames
di una stringa corrispondente a 'fieldname'
. Infine, l'indice viene passato all'operazione struct.(tindex)
, che estrae un campo da all'indice di tag numerici.
Naturalmente, in una vera e propria applicazione che ci si vuole verificare se tindex
era successo abbinato a qualcosa, altrimenti IDL sarà soffocare la ricerca la struttura con un indice di -1.
fonte
2010-05-10 22:10:28
Bello vedere un altro programmatore IDL su SO! Forse un giorno potremo reclamare il "nostro" tag da artisti del calibro di quei programmatori CORBA .... –