[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: indexing over structure tags



Paul van Delst wrote:
> 
> Randall Skelton wrote:
> >
> > Hello,
> >
> > Imagine someone has a structure of structures...
> >
> >   ; define the basic structure for each
> >   sm_struc = {basic_struct, comment: ' ', values: fltarr(nlev)}
> >
> >   ; define the large structure
> >   data = {big_struct, so4: sm_struc, co2: sm_struc, hcl: sm_struc}
> >
> > The IDL manual describes how to make an array of the tags in a structure
> > using:
> >
> >   ; get the names of the tags
> >   names = tag_names(data)
> >
> > so that names = [so4, co2, hcl].
> >
> > That is all fine.  But is it possible to index over the tag names with a
> > for-loop?
> >
> > i.e.   for i=0, n_elements(names)-1 do data.names[i].values = i
> >                                        ^^^^^^^^^^^^^^^^^^^^
> 
> Maybe
> 
> data.names[i].(j) where j=0->N_TAGS(data.names[i])-1  ??
> 
> This works on "single-level" structures but I don't see why it wouldn't work on nested
> ones.

Oops, I guess you really wanted something like

data.(i).values

where i=0->number of molecular names

'Scusi

paulv

-- 
Paul van Delst           A little learning is a dangerous thing;
CIMSS @ NOAA/NCEP        Drink deep, or taste not the Pierian spring;
Ph: (301)763-8000 x7274  There shallow draughts intoxicate the brain,
Fax:(301)763-8545        And drinking largely sobers us again.
paul.vandelst@noaa.gov                   Alexander Pope.