Perl哈希表用法解析
Perl哈希表用法解析
发布时间:2016-12-28 来源:查字典编辑
摘要:本文和大家重点讨论一下Perl哈希表的概念,Perl语言和其他编程语言各有各的特点,这里和大家分享一下Perl哈希表的概念,其实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","byen");

my@array_array=%some_hash=;

print"@array_arrayn";

哈希赋值方法大箭头符号(=>)

复制代码 代码如下:

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";

}

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新perl学习
热门perl学习
脚本专栏子分类