有没有办法在C++中实现perl?
发布于 2010-06-11 15:40:03
使用hash of arrays。
my %students = ( # keys are IDs, values are enrollments
100023 => [qw(Geography Mining)],
100058 => [qw(Geography Geology Woodcraft)],
);发布于 2010-06-11 21:07:26
如果您所说的multimap指的是C++ multimap,那么答案是肯定的。在Perl中,一个映射对应一个散列。与散列中的给定关键字相关联的值可以是对散列的引用。Perl也不要求您在第一次索引操作后使用->,因此您可以直接使用$h{key1}{key2}代替$h{key1}->{key2},这会给您一种多维哈希的令人信服的错觉。
下面是一个示例:
#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
my %h;
my $i;
for my $k (qw/one two three/) {
for my $j (qw/a b c/) {
$h{$k}{$j} = $i++;
}
}
print "one b should be 1: $h{one}{b}\n",
Dumper \%h;https://stackoverflow.com/questions/3020779
复制相似问题