|
珞珈山水BBS →
电脑网络 →
操作系统 →
单文区文章阅读
|
| 单文区文章阅读 [返回] |
|---|
|
发信人: wys0920 (好吃懒做加菲猫), 信区: OS 标 题: 第四课 Perl 变量(3)--关联数组 发信站: 珞珈山水 ( 2004年08月13日12:28:35 星期五), 站内信件 三、关联数组 关联数组和前面说的数组类似,它包含标量数据,可用索引值来单独选择这些数 据,和数组不同的是, 关联数组的索引值不是非负的整数而是任意的标量。这些标量 称为Keys,可以在以后用于检索数组中的数值。 关联数组的元素没有特定的顺序,你可以把它们想象为一组卡片。每张卡片上半部 分是索引而下半部分是数值。 关联数组是Perl语言中特有的,关联数组是一个功能强大的数组。使用关联数组时 要在前面加上%号,关联数组的格式如: %ARRAY=(key1,value1,key2,value2,key3,value3); 每一个key都有一个相对应的值(value)。 和数组类似,$zmd,@zmd,%zmd之间没有任何联系。Perl为对象的不同类型保留独立 的命名空间。 下面介绍关联数组的操作: 在关联数组中增加、更改一对数据:ARRAY={key}=value; 在关联数组ARRAY中加上一对 key-value,要在关联数组名称前加上$号,而且key的名称要在{}符号之间,最后再指定 key所对应的value值。如果在这个关联数组中已经有这个key了.就会更改这个key所对 应的value。 keys(%array)操作符可生成由关联数组%array中的所有当前关键字组成的列表。即返回 奇数个元素(第1,3,5,7...个)的列表。 values(%array)操作符返回由关联数组%array中所有当前值组成的列表,即返回偶数个 列表。 echo(%array)操作符返回由一个关键字和一个值对构成的两个元素的表。对同一数组再 操作时返回下一对值直至结束。若没有更多的对时,echo()返回空表。 (这在打印全部 列表中很有用) 删除一对在关联数组中的数据:delete $ARRAY{key};delete 是 Perl 所提供的函数, 作用是删除关联数组中的一个key以及这个 key 所对应的 value。使用方法是 在 delete 函数之后,指定关联数组中要删除的key名称。 关联数组的综合举例: %fred=(one,"zmd",two,"cxm"); $a=$fred{one}; #$a等于"zmd" $b=$fred{two}; #$b等于"cxm" $fred{two}="yes"; #%fred=(one,"zmd",two,"yes") @number=keys(%fred); #@list=(one,two) @user=values(%fred); #@user=("zmd","cxm") ($number,$name)=echo(%fred); #此时$number的值为one,$name的值为"zmd",再执行一 次$number为值为two,$name的值为"cxm") @a=%fred; #将关联数组fred指定给数组a,这时@a=(one,"zmd",two,"cxm") %b=@a; #将数组a指定给关联数组b,这时%b=(one,"zmd",two,"cxm") delete $fred{one}; #将关联数组中key值为one的一对key-value删除,这时 %fred=(two,"cxm") %name=(); #把%name关联数组置空 -- 欢迎大家光临奥运会版面,参与奥运竞猜 http://202.113.16.117/upload/file/1092022471garfieldas.jpg ※ 来源:.珞珈山水 http://bbs.whu.edu.cn ◆ FROM: 222.132.243.214 |
| [返回单文区目录] |
|
|