本文和大家重點(diǎn)討論一下Perl哈希表的概念,Perl語(yǔ)言和其他編程語(yǔ)言各有各的特點(diǎn),這里和大家分享一下Perl哈希表的概念,其實(shí)Perl哈希表是一種結(jié)構(gòu)。
Perl哈希表
Perl哈希表是一種結(jié)構(gòu)。
key/value.
訪問(wèn)Perl哈希表元素
$Perl哈希表{$some_key}
當(dāng)給Perl哈希表選擇名字時(shí),最好這樣思考:Perl哈希表元素的名字和key之間可以用for來(lái)連接。如thefamily_nameforfredisflintstone.
要引用整個(gè)Perl哈希表,使用百分號(hào)(%)作為前綴。
復(fù)制代碼 代碼如下:
#!/bin/perl
usewarnings;
usestrict;
my$person;
my%family_name;
$family_name{"fred"}="flintstone";
$family_name{"barney"}="rubble";
foreach$person(qwbarneyfred>){
print"I'veheardof$person$family_name{$person}.\n";
}
my%some_hash=("foo",35,"bar",12.4,25,"hello","wilma",1.72e30,"betty","bye\n");
my@array_array=%some_hash=;
print"@array_array\n";
哈希賦值方法大箭頭符號(hào)(=>)
復(fù)制代碼 代碼如下:
my%last_name=(
"fred"=>"flintstion",
"dino"=>undef,
"barney"=>"rubble",
"betty"=>"rubble",
);
keys函數(shù)會(huì)返回此Perl哈希表的所有keys,values含稅將返回所有的values。如果Perl哈希表中沒(méi)有元素,則此函數(shù)將返回空列表。
復(fù)制代碼 代碼如下:
my@k=keys%last_name;
my@v=values%last_name;
my$count=keys%last_name;#scalar-producing,key/valuepairs
print"thekeyare@k.\n";
print"thevalueare@v.\n";
print"thecountare$count.\n";
each函數(shù)
如果想迭代得到Perl哈希表中的每個(gè)元素,一個(gè)通常的方法是使用each函數(shù),它將返回key/value對(duì)的元素對(duì)。當(dāng)對(duì)同一個(gè)Perl哈希表函數(shù)進(jìn)行一次迭代時(shí),將返回下一個(gè)key/value對(duì),直到所有的元素均被訪問(wèn)。
復(fù)制代碼 代碼如下:
my$key;
my$value;
while(($key,$value)=each%last_name){
#foreach(($key,$value)=each%last_name){
print"$key=>$value.\n";
}
注意兩種循環(huán)的結(jié)果,原因在于兩種循環(huán)的設(shè)計(jì)機(jī)制不同。
復(fù)制代碼 代碼如下:
foreach$key(sortkeys%last_name){
$value=$last_name{$key};
print"$key=>$value.\n";
print"$key=>$last_name{$key}.\n";
}
您可能感興趣的文章:- php-perl哈希算法實(shí)現(xiàn)(times33哈希算法)
- Perl 哈希的創(chuàng)建和引用介紹
- perl哈希的一個(gè)實(shí)例分析
- Perl 哈希Hash用法之入門教程
- perl哈希hash的常見(jiàn)用法介紹
- Perl與JS的對(duì)比分析(數(shù)組、哈希)