神奇的Perl-哈希与数组

来源:互联网 发布:大数据经济新常态 编辑:程序博客网 时间:2024/05/10 00:42


声明:本神奇的Perl系列为刘兴(http://deepfuture.iteye.com/)原创,未经笔者授权,任何人和机构不能转载

1.    哈希内嵌数组

语法格式如下:

声明及定义

my %哈希变量=(

哈希键1=>[数组元素1,数组元素2,…,数组元素n],

哈希键2=> [数组元素1,数组元素2,…,数组元素n],

…...

…...

哈希键n=> [数组元素1,数组元素2,…,数组元素n]

);

访问内嵌数组的单个元素:

$哈希变量名{哈希键}->[数组下标]

访问内嵌数组:

@{$哈希变量名{哈希键}}

例如,游戏地图上有一组建筑物的坐标,分别如下:

武器店:123,35

修练场:85,196

防具店:67,96

魔法店:128,45

用哈希内嵌数组的方式来存储和访问这些数据。

1) 存储

my %game=(

        “武器店”=>[123,35],

        “修练场”=>[85,196],

        “防具店”=>[67,96],

        “魔法店”=>[128,45]

);

2) 访问

访问防具店的坐标值:

printf ("%d,%d", @{$game{"防具店"}});

访问魔法店的坐标Y值:

print $game{“防具店”}->[1];

可使用硬引用符来完成内嵌数组的赋值。

my  %game;

my  @array=(123,35);

$game{"武器店"}=\@array;

my  @array=(85,196);

$game{"修练场"}=\@array;

my  @array=(67,96);

$game{"防具店"}=\@array;

my  @array=(67,96);

$game{"魔法店"}=\@array;

printf ("%d,%d",@{$game{"防具店"}});

原创粉丝点击