精品免费在线观看-精品欧美-精品欧美成人bd高清在线观看-精品欧美高清不卡在线-精品欧美日韩一区二区

17站長網(wǎng)

17站長網(wǎng) 首頁 腳本 perl 查看內(nèi)容

perl哈希hash的常見用法

2022-12-8 15:36| 查看: 2456 |來源: 互聯(lián)網(wǎng)

基本用法 #初始化%h為空數(shù)組 %h={};#用數(shù)組初始化%h為a=>1,b=>2  %h=('a',1,'b',2);#意義同上,只是另一種更形象化的寫法。%h=('a'=>1,'b'=>2);#如果key是字符串,可以省略引號(hào)。下面這行和上面那行是

基本用法

#初始化%h為空數(shù)組 %h={};
#用數(shù)組初始化%h為a=>1,b=>2  %h=('a',1,'b',2);
#意義同上,只是另一種更形象化的寫法。%h=('a'=>1,'b'=>2);
#如果key是字符串,可以省略引號(hào)。下面這行和上面那行是一樣的%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函數(shù),或者說是亂序@all_keys=keys%h;  #所有鍵值,是按hash的值從大往小排列的。值的比較是數(shù)字比較(比如說,10>9) ,  @all_keys=sort{$h{$b} => $h{$a}}(keys%h);

判斷Perl Hash是否包含key
 exists($h{$key});

Perl Hash的長度
想要知道一個(gè)hash存放多少數(shù)據(jù)
$hash_size=keys%h #把%h的長度放到$hash_size中print scalar keys %h,"\n"; #打印%h的長度。這里用了scalar來返回?cái)?shù)組長度。

遍歷一個(gè)Perl Hash
while(my($k,$v)=each%h){print"$k--->$v\n";}

Reference引用
Reference類似于C/C++的指針
$h_ref=\%h;    #獲得一個(gè)hash的reference,   %aHash=%{$h_ref};   #把hash reference當(dāng)成hash用 $value=$h_ref->{akey}; #這個(gè)和%h{akey}是一樣的

傳遞Perl Hash到函數(shù)
一般都是傳遞一個(gè)reference到函數(shù)
%h=(); $h{a}=1; foo(\%h); print $h{b},"\n"; #打印出2。這個(gè)值來自于函數(shù)foo(), sub foo{my ($h)=@_; print $h->{a},"\n"; #打印出1 $h->{b}=2;}

函數(shù)返回hash,或者h(yuǎn)ash引用(hashreference)
函數(shù)可以返回Perl Hash
sub foo{my %fh; $fh{a}=1; return %h;} my %h=foo(); print "$h{a}\n"; #打印出1
但是這樣等于把整個(gè)hash從%fh復(fù)制到了%h,效率比較低。可以考慮返回hash的引用:
sub foo{my %fh; $fh{a}=1; return \%fh;} my $hr=foo(); print "$hr->{a}\n"; #打印出1.  my %h=%{foo()} #如果就是想復(fù)制,也可以用這種方法。不用擔(dān)心在sub foo里的%fh是局部變量,Perl會(huì)自動(dòng)管理內(nèi)存。它會(huì)發(fā)現(xiàn)%fh被$hr引用,就不會(huì)清理%fh的內(nèi)存,并且$hr失效后釋放內(nèi)存。

本文最后更新于 2022-12-8 15:36,某些文章具有時(shí)效性,若有錯(cuò)誤或已失效,請(qǐng)?jiān)诰W(wǎng)站留言或聯(lián)系站長:17tui@17tui.com
·END·
站長網(wǎng)微信號(hào):w17tui,關(guān)注站長、創(chuàng)業(yè)、關(guān)注互聯(lián)網(wǎng)人 - 互聯(lián)網(wǎng)創(chuàng)業(yè)者營銷服務(wù)中心

免責(zé)聲明:本站部分文章和圖片均來自用戶投稿和網(wǎng)絡(luò)收集,旨在傳播知識(shí),文章和圖片版權(quán)歸原作者及原出處所有,僅供學(xué)習(xí)與參考,請(qǐng)勿用于商業(yè)用途,如果損害了您的權(quán)利,請(qǐng)聯(lián)系我們及時(shí)修正或刪除。謝謝!

17站長網(wǎng)微信二維碼

始終以前瞻性的眼光聚焦站長、創(chuàng)業(yè)、互聯(lián)網(wǎng)等領(lǐng)域,為您提供最新最全的互聯(lián)網(wǎng)資訊,幫助站長轉(zhuǎn)型升級(jí),為互聯(lián)網(wǎng)創(chuàng)業(yè)者提供更加優(yōu)質(zhì)的創(chuàng)業(yè)信息和品牌營銷服務(wù),與站長一起進(jìn)步!讓互聯(lián)網(wǎng)創(chuàng)業(yè)者不再孤獨(dú)!

掃一掃,關(guān)注站長網(wǎng)微信

大家都在看

    熱門排行

      最近更新

        返回頂部
        主站蜘蛛池模板: 老年人毛片 | 中国国产一国产一级毛片视频 | 国产成人青青热久免费精品 | 国产免费自拍 | 国产性tv国产精品 | 77777五月色婷婷丁香视频 | 免费一级在线观看 | 久操视频免费看 | 欧美性猛交xxxx免费看蜜桃 | 欧美精品在线观看视频 | 亚洲aaa视频| 午夜a级毛片 | 丝袜捆绑调教视频免费区 | 一级视频在线观看免费 | 欧美综合图区亚欧综合图区 | 国产免费无遮挡精品视频 | 成年人小视频在线观看 | 日本不卡高清免费v日本 | 成人av在线播放 | 久久色精品 | 国产小视频免费观看 | 一级毛片美国一级j毛片不卡 | 拍拍在线观看免费播放 | 在线亚洲播放 | 日韩在线观看不卡 | 亚洲视色| 中国一级毛片aaa片 中国一级毛片在线观看 | 国产精品视频二区不卡 | 日韩专区一区 | 精品一区二区三区在线观看 | 免费国产成人高清在线观看不卡 | 亚洲欧美综合日韩字幕v在线 | 欧美性性性性性色大片免费的 | 美国免费三片在线观看 | 亚洲成熟xxxxx电影 | 欧美日韩免费播放一区二区 | 日本狠狠干 | 国模福利视频在线播放 | 91精品国产高清久久久久久 | 国产乱淫视频 | 日本xxx免费视频 |