Memoize |
BasicWerk
EC Support
Technique
Facebook
|
20141120110931_Perl_map_array_to_hash |
|
Perl_map_array_to_hash
map で1つの入力から複数の値を生成すると、横並びに一列の配列になる。 例えば、
my @array = (1, 2, 3);
my @new_array = map { $_, 100 + $_ } @array;
print "@new_array\n";
# 出力は
# 1 101 2 102 3 103
Perl のハッシュは (key1, value1, key2, value2, ..., keyn, valuen) の形で単に連続した配列である。 どうしようもない例だが、小文字のキーワードを大文字にしたものをバリューとするなら、
my @array = qw( aaa bbb ccc );
my %hash = map { $_, uc $_ } @array;
foreach my $k ( keys %hash ) {
print "Key: $k\tValue: $hash{$k}\n";
}
# 出力は
# Key: bbb Value: BBB
# Key: ccc Value: CCC
# Key: aaa Value: AAA
|
| © Shin Nakamura/BasicWerk 2014 |