idl之结构体

<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              3
ENVI> 

<2> 结构体取值

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

<3> 结构体相关函数

取结构体成员的个数
ENVI> help,n_tags(person)
<Expression>    LONG      =            3
获取成员名
ENVI> print,tag_names(person)
AGE COUNTRY NAME
ENVI> 
获取结构体变量的结构体的名称
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
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值