| Re: best way to find the variable name of a structure from RESTORE-ing a sav file [message #32196 is a reply to message #32195] |
Fri, 20 September 2002 09:14  |
David Fanning
Messages: 11724 Registered: August 2001
|
Senior Member |
|
|
Robert Stockwell (rgs1967@hotmail.com) writes:
> anyone have good ideas on how to programatically find
> the name of a variable in memory, that happens to be
> a structure. The reason I don't know the name is that I
> am restoring a structure from an IDL sav file. The structure
> is the only thing in the sav file.
>
> For instance, I am writing a function like:
>
> function readsavdata, filename
>
> restore,filename=filename
>
> ; here I have a structure in memory, with a variable name I do not know.
>
> help
> ; next line is the result of the help command
> ; IDL> NWS_MMT_FCAST_TEMPERATURE_ARRAY STRUCT = -> <Anonymous> Array[950040]
>
> return, ?????? ; i need the name of this structure
>
> end ; end of function
>
> How do I get this variable name "NWS_MMT_FCAST_TEMPERATURE_ARRAY" so I can
> put in a line like
>
> return,NWS_MMT_FCAST_TEMPERATURE_ARRAY
>
> at the end of the function.
Try this:
Function ReadSavData, filename
Restore, Filename=filename
varname = Routine_Names(Variables=0)
variable = Routine_Names(varname[0], Fetch=0)
RETURN, variable
END
This is not exactly documented anywhere, so your mileage
may vary. It works here in IDL 5.5. :-)
Cheers,
David
--
David W. Fanning, Ph.D.
Fanning Software Consulting, Inc.
Phone: 970-221-0438, E-mail: david@dfanning.com
Coyote's Guide to IDL Programming: http://www.dfanning.com/
Toll-Free IDL Book Orders: 1-888-461-0155
|
|
|
|