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