神奇的Perl-哈希与数组(3)
程序员文章站
2022-04-29 16:23:13
...
声明:本神奇的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{"防具店"}});