職案人

求職・歴史・仏教などについて掲載するつもりだが、自分の思いつきが多いブログだよ。適当に付き合って下さい。

perlのハッシュについて

2018年01月19日 | perl
perlのハッシュについて

【環境条件】
Eclipse 4.4(ルナ)
XAMPP 1.8.3 
Perlは既にインストール済み

【ハッシュ】
1)ハッシュとは
ハッシュは他のプログラミング言語では連想配列とも呼ばれているもので、複数の値を管理することは配列と同じですが、要素を順に並べてインデックスで管理するのではなく、格納される値に対するキーを別途設定しインデックスの代わりにキーで管理する。

・サンプルプログラム「test01.pl」
use strict;
use warnings;
my %address;#ハッシュ宣言

$address{'katou'}= "Tokyo";#キーと値の取得
$address{'山田'}= "大阪";#キーと値の取得

print "$address{'katou'} \n";
print "$address{'山田'} \n";

・結果
Tokyo
大阪

2)ハッシュの宣言と要素へのアクセス
書式
ハッシュ宣言→%ハッシュ名
キーと値の取得→$ハッシュ名{キー} = 値;

3)ハッシュの初期化
書式
my @ハッシュ名 = (キー1,値1,キー2,値2,...,キーn,値n);
または
my @ハッシュ名 = (
キー1 => 値1,
キー2 => 値2,
... ,
キーn => 値n
);

・サンプルプログラム「test02.pl」
use strict;
use warnings;
my %address = (
"鈴木" => "東京都千代田区",
"山田" => "東京都葛飾区"
);

print "$address{'鈴木'}\n";
print "$address{'山田'}\n";
・結果
東京都千代田区
東京都葛飾区

4)ハッシュ要素の変数展開
ハッシュは、ハッシュ全体を表す「%ハッシュ名」のような記述を行っても展開されない。
・サンプルプログラム「test03.pl」
my %address = (
"鈴木" => "東京都千代田区",
"山田" => "東京都葛飾区"
);

print "%address\n";
print "$address{'鈴木'}\n";

・結果
%address
東京都千代田区

5)繰り返し処理
keys関数→対象となるハッシュに含まれている全てのキーをリストの形で返す
each関数→対象となるハッシュに含まれている要素を順に取り出します

・サンプルプログラム「test04.pl」
my %address = (
"鈴木" => "東京都千代田区",
"山田" => "東京都葛飾区"
);

#key文
foreach my $key(keys(%address)){
print "$address{$key}\n";
}
#each文
while (my ($key, $value) = each(%address)){
print " key=$key, value=$value\n";
}
・結果
東京都千代田区
東京都葛飾区
key=鈴木, value=東京都千代田区
key=山田, value=東京都葛飾区

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする