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

Re: indexing over structure tags



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.

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.