idl之结构体

来源:互联网 发布:mac光盘怎么弹出 编辑:程序博客网 时间:2024/04/30 13:07

<1> 命名结构体和匿名结构体

ENVI> person={per,age:56,country:'USA',Name:'Jack'}ENVI> help,person** Structure PER, 3 tags, length=40, data length=34:   AGE             INT             56   COUNTRY         STRING    'USA'   NAME            STRING    'Jack'ENVI> a={a:1,b:2,c:3}ENVI> a% Attempt to call undefined procedure/function: 'A'.% Execution halted at: $MAIN$          ENVI> help,a** Structure <12e08aa0>, 3 tags, length=6, data length=6, refs=1:   A               INT              1   B               INT              2   C               INT              3ENVI> 

<2> 结构体取值

ENVI> help,person.(2)<Expression>    STRING    = 'Jack'ENVI> help,person.age<Expression>    INT       =       56ENVI> 

<3> 结构体相关函数

取结构体成员的个数ENVI> help,n_tags(person)<Expression>    LONG      =            3
获取成员名ENVI> print,tag_names(person)AGE COUNTRY NAMEENVI> 
获取结构体变量的结构体的名称ENVI> print,tag_names(person,/s)PER匿名结构体就是空的ENVI> print,tag_names(a,/s)ENVI> 

<4> 结构体的继承

={p3,inherits per,company:'cug'}ENVI> print,p3% PRINT: Variable is undefined: P3.% Execution halted at: $MAIN$          ENVI> print,p{       0   cug}
结构体的动态扩展ENVI> p4=create_struct(person,'company','cug')ENVI> print,p4{      56 USA Jack cug}
0 0