首页 > 代码库 > 小时代5-perl哈希hash的用法介绍
小时代5-perl哈希hash的用法介绍
基本用法 #初始化%h为空数组 %h={}; #用数组初始化%h为a=>1,b=>2 %h=(‘a‘,1,‘b‘,2); %h=(‘a‘=>1,‘b‘=>2); #如果key是字符串,可以省略引号 %h=(a=>1,b=>2); #用{}来访问 print “$h{a}n”; #打印 $h{b}=‘2b‘; print “$h{b}n”; #打印2b #删除key用delete delete$h{b}; #从$h删除‘b‘清空Perl Hash undef %h;得到hash的所有键值 #得到所有keys,顺序取决于hash函数,或者说是乱序 @all_keys=keys%h; #所有键值,是按hash的值从大往小排列的。值的比较是数字比较(比如说,10>9) @all_keys=sort{$h{$b} => $h{$a}}(keys%h);判断Perl Hash是否包含key exists($h{$key});Perl Hash的长度 $hash_size=keys%h #把%h的长度放到$hash_size中 print scalar keys %h,"n"; #打印%h的长度。这里用了scalar来返回数组长度。遍历一个Perl Hash while(my($k,$v)=each%h){print"$k--->$vn";}Reference引用Reference类似于C/C++的指针 $h_ref=%h; #获得一个hash的reference, %aHash=%{$h_ref}; #把hash reference当成hash用 $value=http://www.mamicode.com/$h_ref->{akey}; #这个和%h{akey}是一样的"n"; #打印出2。这个值来自于函数foo() sub foo{ my ($h)=@_; print $h->{a},"n"; #打印出1 $h->{b}=2; }函数返回hash,或者hash引用(hashreference) sub foo{ my %fh; $fh{a}=1; return %h; } my %h=foo(); print "$h{a}n"; #打印出1但是这样等于把整个hash从%fh复制到了%h,效率比较低。可以考虑返回hash的引用:sub foo{my %fh;$fh{a}=1;return %fh;}my $hr=foo();print "$hr->{a}n"; #打印出1.my %h=%{foo()} #如果就是想复制,也可以用这种方法。不用担心在sub foo里的%fh是局部变量,Perl会自动管理内存。它会发现%fh被$hr引用,就不会清理%fh的内存,并且$hr失效后释放内存。
www.hwmqh.comwww.rhliv.comwww.bbilo.comwww.jdcvv.comwww.vqjqu.comwww.ecbga.comwww.urukw.comwww.jcukg.comwww.yrikt.comwww.bwjvy.comwww.vrtyo.comwww.jltwy.comwww.mvxjd.comwww.spuyn.comwww.xjfpi.comwww.ewkhc.comwww.gflin.comwww.xtabm.comwww.dvkgn.comwww.cbidb.comwww.yximh.comwww.hxxja.comwww.ebwqe.comwww.zrdqs.comwww.arzbc.comwww.orxap.comwww.dqbky.comwww.wqrfc.comwww.ipnhe.comwww.vwnwu.comwww.rqzzk.comwww.cjjhl.comwww.titph.comwww.xpiyc.comwww.iefjh.comwww.ajieq.comwww.ndnbg.comwww.fpdpl.comwww.lrroc.comwww.yikgs.comwww.rutbx.comwww.qdgal.comwww.xwhhr.comwww.jdzic.comwww.kvxcp.comwww.jnzwb.comwww.fveqr.comwww.bnnyo.comwww.wyehw.comwww.xagbe.comwww.cedcj.comwww.tzfxh.comwww.ugrfc.comwww.hveoh.comwww.ofmra.comwww.sfevm.comwww.fvvsd.comwww.rutpi.comwww.whpxf.comwww.pudmt.comwww.bcwcm.comwww.faqcr.comwww.uuwbe.comwww.ykxef.comwww.hwyme.comwww.lujck.comwww.tzsib.comwww.fckyq.comwww.vzxuk.comwww.fkygj.comwww.klecr.comwww.zinwp.comwww.ufahg.comwww.vn7869.comwww.yuats.comwww.vn5573.comwww.zccfi.comwww.cdvsz.comwww.mdqgu.comwww.ffrtb.comwww.bicwn.comwww.viryy.comwww.qcmuj.comwww.gttlc.comwww.xgeuz.comwww.suoug.comwww.yrdwj.comwww.rmnzf.comwww.bamdz.comwww.fwrxr.comwww.exxre.comwww.uwlne.comwww.dbeyg.comwww.qertg.comwww.hocpd.comwww.bmvya.comwww.hmhns.comwww.qhdip.comwww.ntfty.comwww.kvfyu.comwww.gdydm.comwww.wyflu.comwww.cnprr.comwww.ypzzv.comwww.xunjm.comwww.esvfm.comwww.kzkdm.comwww.vycaa.comwww.txzeb.comwww.udvym.comwww.kmkme.comwww.yngne.comwww.bqjkk.comwww.bkjil.comwww.dozbl.comwww.hcuoa.comwww.jypxa.comwww.ogvsy.comwww.fizlg.comwww.dvkky.comwww.vpxbx.comwww.fplwt.comwww.oamud.comwww.jqdrw.comwww.folyq.comwww.dkssg.comwww.mnucb.comwww.cpjgy.comwww.kswtp.comwww.kbfcz.comwww.oqmse.comwww.ofije.comwww.esvbb.comwww.qmswq.comwww.aeodn.comwww.qhmmq.comwww.gllqc.comwww.xttmd.comwww.exhff.comwww.ttckq.comwww.fwaqf.comwww.bbufl.comwww.kyxxh.comwww.phqpx.comwww.pohjw.comwww.wjeln.comwww.iahue.comwww.wolnd.comwww.ryiap.comwww.tmfvs.comwww.ozvhx.comwww.yuowp.comwww.ryzyg.comwww.kvdfo.comwww.potxf.comwww.zrlpc.comwww.ijvqs.comwww.whprz.comwww.ehdrt.comwww.dkdvy.comwww.ytjlp.comwww.vgcgh.comwww.ikqlc.comwww.vwlcj.comwww.sxbmt.comwww.dkqrh.comwww.fkvre.comwww.gnxzj.comwww.wqilg.comwww.unnmh.comwww.xrifa.comwww.ozsnc.comwww.ykjat.comwww.jvhwb.comwww.tdnpe.comwww.bskto.comwww.jzzyj.comwww.efzop.comwww.wukkz.comwww.xfvpb.comwww.jmqry.comwww.xrbnn.comwww.sernl.comwww.tsqth.comwww.qgjfm.comwww.rgusf.comwww.wkopl.comwww.rfued.comwww.cmrkw.comwww.jfpch.comwww.qtmdy.comwww.lgxyb.comwww.hmvty.comwww.aybfm.comwww.upuaj.comwww.akzdz.comwww.aoxna.comwww.gkzux.comwww.cxgzn.comwww.uedxr.comwww.tmyqy.com
小时代5-perl哈希hash的用法介绍
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。