好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > Perl 哈希Hash用法之入門教程

Perl 哈希Hash用法之入門教程

熱門標簽:智能機器人電銷神器 惠州龍門400電話要怎么申請 萬利達百貨商場地圖標注 河南虛擬外呼系統公司 okcc外呼系統怎么調速度 電話機器人哪里有賣 上海企業外呼系統 熱門電銷機器人 外呼電信系統

一、什么是Perl Hash

哈希是一種數據結構,和數組類似,可以將值存放到其中,或者從中取回值。但是,和數組不同的是,其索引不是數字,而是名字。也就是說,索引(這里,我們將它叫key)不是數字而是任意的唯一的字符串。

key可以是任意的字符串,你可以使用任何的字符串作為key,但它們是唯一的。
另一種思考hash 的方法是,把它看作一堆數據(a barrel of data),每一個數據都有一個相應的標簽。可以通過標簽訪問此標簽對應的元素。但其中是沒有“第一個”元素的概念的。在數組中,數組元素從0,Perl學習之哈希hash_馬亮的計算機技術1,2 開始編號。但在hash中,沒有確定的順序,因此也沒有第一個元素。只是一些key/value 對的集合。

keys和values均為任意的標量,但keys通常轉換為字符串。因此,如果將表達式50/20 作為keys,則其通常被轉換為3字符的字符串“2.5”。
由于Perl的“沒有不必要的限制”的設計哲學:hash可以是任意大小,從空hash(沒有key/value對),到任何你內存允許的大小。
keys是唯一的,但values可以重復。hash的value可以是數字,字符串,undef,或者它們的混合,但key是唯一的。

為什么使用Perl Hash

可以把hash看作一個簡單的數據庫,其中每一個key下面可以有一塊數據。如果你的任務是關于:“查詢重復的”,“唯一的”,“交叉引用的”,“查詢表”,則hash很可能在這類應用中幫上Perl學習之哈希hash_馬亮的計算機技術你的忙。

二、Perl Hash元素的存取

要訪問hash 元素,可以使用下面的語法:$hash{$some_key}
這和訪問數組元素的方法有些類似,這里下標(key)上使用的是花括號({}),而不是方括號([ ])。現在key 的表達式是字符串,而非數字。
hash的名字和Perl中其它的標識符的命名規則是一樣的(字母,數字,下劃線組成,但不能由數字開頭)。
訪問不存在的hash元素將得到undef。

1.作為整體的Perl Hash

要引用整個hash,使用百分號(%)作為前綴。
為了方便,hash可以轉換為列表,或者反過來。

2.Perl Hash賦值

可以使用如下的語法在hash 之間拷貝:
%new_hash = %old_hash;
將hash轉變成其它形式更加常見。例如,我們可以將hash反轉:
%inverse_hash = reverse %any_hash;

3.大箭頭符號(=>)

當給hash賦值時,有時并不明顯哪些元素是keys,那些是values,因此發明了大箭頭符號(=>)。在需要逗號的時候,都可以使用大箭頭符號替換。
如:

復制代碼 代碼如下:

my %last_name = (  
"www" => 1,  
"eee" => 2,  
); 

三、Perl Hash函數

某些有用的函數可以對整個hash 進行操作。

1.keys和values函數

keys函數會返回此hash的所有keys,values函數將返回所有的values。如果hash中沒有元素,則此函數將返回空列表。

復制代碼 代碼如下:

my %hash = ("a"=>1, "b"=>2, "c"=>3);  
print my @k = keys %hash;  
print my @v = values %hash; 

2.each函數

如果想迭代hash的每一個元素,一種通常的方法是使用each函數,它將返回key/value對應的2個元素列表。
當對同一個hash 函數進行一次迭代時,將返回下一個key/value對,直到所有的元素均被訪問。如果沒有更多的key/value對,則each函數將返回空表。

復制代碼 代碼如下:

my %hash = ("a"=>1, "b"=>2, "c"=>3);  
while(($key, $value) = each %hash)  
{  
print "$key => $value\n";  

當然,each返回的key/vlaue對,順序是混亂的(它其順序和keys和values函數返回的順序相同)。如果想將其按序排放,可以對它們排序(使用sort)。

復制代碼 代碼如下:

my %hash = ("a"=>1, "b"=>2, "c"=>3, "d"=>4);  
foreach $key (sort keys %hash)  
{  
$value =$hash{$key};  
print "$key => $value\n";  

四、Perl Hash的通常用法

1.exists函數

要查看hash中是否存在某個key,可以使用exists函數,如果hash中存在此key,則返回true,與是否有對應的value無關。

復制代碼 代碼如下:

my %hash = ("a"=>1, "b"=>2, "c"=>3, "d"=>4);  
if(exists $hash{'a'})  
{  
print "true";  

2.delete 函數

delete函數將某個給定的key(包括其對應的value)從hash中刪除。如果不存在這個key,則什么也不做,不會有警告或者錯誤信息。

復制代碼 代碼如下:

my %hash = ("a"=>1, "b"=>2, "c"=>3, "d"=>4);  
delete $hash{'a'};  
foreach $key (sort keys %hash)  
{  
$value =$hash{$key};  
print "$key => $value\n";  

3.Perl Hash 元素的內插

你可以在雙引號的字符串中使用單個hash元素,但不支持整個hash 的內插。

復制代碼 代碼如下:

my %hash = ("a"=>1, "b"=>2, "c"=>3, "d"=>4);  
foreach $key (sort keys %hash)  
{  
print "$key => $hash{$key}\n";  
}  

您可能感興趣的文章:
  • php-perl哈希算法實現(times33哈希算法)
  • Perl 哈希的創建和引用介紹
  • Perl哈希表用法解析
  • perl哈希的一個實例分析
  • perl哈希hash的常見用法介紹
  • Perl與JS的對比分析(數組、哈希)

標簽:秦皇島 百色 綏化 周口 淮安 合肥 綿陽 周口

巨人網絡通訊聲明:本文標題《Perl 哈希Hash用法之入門教程》,本文關鍵詞  Perl,哈希,Hash,用法,之,入門教程,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Perl 哈希Hash用法之入門教程》相關的同類信息!
  • 本頁收集關于Perl 哈希Hash用法之入門教程的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 1769国产资源免费入口| 欧美我不卡| 嘿咻嘿咻在线区免费观看| 第一视角97年清纯小嫩模| 你里面好紧宝贝bl| 乡村教师情欲艳史录| 91制片国产李宗瑞秘?| 暗卫抵开腿承欢男男肉| 小荡货夹的好近| 亚丝娜被爆?羞羞漫画| 久久一二三区无码AAAA免费 | 亚洲经典乱码在线播| 台湾荡女婬春2无删减版| 偷窥×洗澡×撒尿xXx偷拍| 欲室狂欢| 久久久久久精品无码大片八V无不 A级毛片久久久久久精品摸索内裤 | 小宝探花在线观看免费直播电视剧 | 国产一级婬片A片A片免费播放| 好男人资源在线观看视频免费| 五月精品| 国产精品无码一区二区在线播放 | 农村妇女色情一级A片动态图| 舔女人下体视频| 草莓破解版| 女仆趴到床脱了内裤打光屁股小说| 夫妻奴vk| 日本做爰XXXⅩ高潮A区瑞江| 一色桃子AV视频无码专区| 作爱视频免费看| 国产情侣普遍话对白| 看黄网站免费| 亚洲日韩精品欧美一区二区一| 国产精品-第56页| 日本一区二区三区中文字幕| 免费乱理伦片在线观看影院| 自拍激情视频| 国产精品一区二区久久沈樵| 国产精品视频播放| 嫩草乱码一区三区四区| 欲乳浪| 色欲色香天天天综合VVV |