Perl哈希表用法解析
本文和大家重点讨论一下Perl哈希表的概念,Perl语言和其他编程语言各有各的特点,这里和大家分享一下Perl哈希表的概念,其实Perl哈希表是一种结构。
Perl哈希表
Perl哈希表是一种结构。
key/value.
访问Perl哈希表元素
$Perl哈希表{$some_key}
当给Perl哈希表选择名字时,最好这样思考:Perl哈希表元素的名字和key之间可以用for来连接。如thefamily_nameforfredisflintstone.
要引用整个Perl哈希表,使用百分号(%)作为前缀。
代码如下:
#!/bin/perl usewarnings; usestrict; my$person; my%family_name; $family_name{"fred"}="flintstone"; $family_name{"barney"}="rubble"; foreach$person(qw<barneyfred>){ 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";
哈希赋值方法大箭头符号(=>)
代码如下:
my%last_name=( "fred"=>"flintstion", "dino"=>undef, "barney"=>"rubble", "betty"=>"rubble", );
keys函数会返回此Perl哈希表的所有keys,values含税将返回所有的values。如果Perl哈希表中没有元素,则此函数将返回空列表。
代码如下:
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函数
如果想迭代得到Perl哈希表中的每个元素,一个通常的方法是使用each函数,它将返回key/value对的元素对。当对同一个Perl哈希表函数进行一次迭代时,将返回下一个key/value对,直到所有的元素均被访问。
代码如下:
my$key; my$value; while(($key,$value)=each%last_name){ #foreach(($key,$value)=each%last_name){ print"$key=>$value.\n"; }
注意两种循环的结果,原因在于两种循环的设计机制不同。
代码如下:
foreach$key(sortkeys%last_name){ $value=$last_name{$key}; print"$key=>$value.\n"; print"$key=>$last_name{$key}.\n"; }
相关推荐
边城客栈学无止境 2020-07-05
Walter的学习笔记 2020-07-04
A宇 2020-06-14
边城客栈学无止境 2020-06-10
邓博学习笔记 2020-06-03
davidliu00 2020-05-26
ShiShuo 2020-05-16
Aggressivesnail 2020-05-10
ShiShuo 2020-04-26
hanxingwang00 2020-04-22
davidliu00 2020-03-06
ShiShuo 2020-03-06
ShiShuo 2020-03-05
Aggressivesnail 2020-02-28
aaLiweipeng 2020-02-01
amberom 2020-01-16
Walter的学习笔记 2020-01-06