推荐答案
在 Perl 中,哈希(Hash)是一种常用的数据结构,用于存储键值对。以下是 Perl 中常用的哈希函数:
keys %hash
:返回哈希中所有键的列表。values %hash
:返回哈希中所有值的列表。each %hash
:返回哈希中的下一个键值对,通常用于迭代。delete $hash{key}
:删除哈希中指定键的键值对。exists $hash{key}
:检查哈希中是否存在指定的键。defined $hash{key}
:检查哈希中指定键的值是否已定义。
本题详细解读
keys %hash
keys
函数返回哈希中所有键的列表。例如:
my %hash = ('a' => 1, 'b' => 2, 'c' => 3); my @keys = keys %hash; # @keys 包含 ('a', 'b', 'c')
values %hash
values
函数返回哈希中所有值的列表。例如:
my %hash = ('a' => 1, 'b' => 2, 'c' => 3); my @values = values %hash; # @values 包含 (1, 2, 3)
each %hash
each
函数用于迭代哈希中的键值对。每次调用 each
都会返回下一个键值对。例如:
my %hash = ('a' => 1, 'b' => 2, 'c' => 3); while (my ($key, $value) = each %hash) { print "$key => $value\n"; }
输出:
a => 1 b => 2 c => 3
delete $hash{key}
delete
函数用于删除哈希中指定键的键值对。例如:
my %hash = ('a' => 1, 'b' => 2, 'c' => 3); delete $hash{'b'}; # 删除键 'b' # 现在 %hash 包含 ('a' => 1, 'c' => 3)
exists $hash{key}
exists
函数用于检查哈希中是否存在指定的键。例如:
my %hash = ('a' => 1, 'b' => 2, 'c' => 3); if (exists $hash{'b'}) { print "Key 'b' exists\n"; }
defined $hash{key}
defined
函数用于检查哈希中指定键的值是否已定义。例如:
my %hash = ('a' => 1, 'b' => undef, 'c' => 3); if (defined $hash{'b'}) { print "Value for key 'b' is defined\n"; } else { print "Value for key 'b' is not defined\n"; }