だんぺんぶこみっく

2007-04-0220070402

[]ハッシュ(Perl) 21:00 ハッシュ(Perl) - だんぺんぶこみっく を含むブックマーク はてなブックマーク - ハッシュ(Perl) - だんぺんぶこみっく

(以下,自分用の思考メモ)

  • Perlのハッシュ≒連想配列らしい(C++とかにあったきもするが,殆どやっていない)
  • ハッシュの前に%をつけなならんのが(ry
  • ようするにjava.util内のコレクションのHashMapのようなものか
  • 以下,前掲書のサンプルプログラムを参考にして今日書いたもの

hash02.pl

use strict;
use warnings;

#ハッシュ
my %h = (
	"阿部高和" => 22,
	"道下正樹" => 20,
	"リチャード=リンチ" => 49,
	"マイケル=ベリーマン" => 47
);
print "追加前\n";
foreach my $k (keys(%h)) {
	my $val = $h{$k};
	print "$k -> $val\n";
}

#追加
$h{"エド=ウッドJr"} = 34;
print "追加後\n";
foreach my $k (keys(%h)) {
	my $val = $h{$k};
	print "$k -> $val\n";
}

(名前はテキトウです)

hash03.pl

use strict;
use warnings;

#同一アイテムの回数をカウントする

#ハッシュ
my %hash;

my $dt = <STDIN>;
chomp($dt);
while($dt ne "end") {
	#わざとこう書いている
	my $x = $hash{$dt};
	$x++;
	$hash{$dt} = $x;

	$dt = <STDIN>;
	chomp($dt);
}

foreach (sort(keys(%hash))) {
	print "$_ -> $hash{$_}\n";
}

(実行結果)

C:\Perl\work>perl  hash03.pl
apple
pineapple
lemon
melon
apple
melon
grape
melon
end
apple -> 2
grape -> 1
lemon -> 1
melon -> 3
pineapple -> 1
トラックバック - http://fragments.g.hatena.ne.jp/TakahashiMasaki/20070402