gpt4 book ai didi

perl - 如何在 Perl 中创建一个新的空哈希引用?

转载 作者:行者123 更新时间:2023-12-04 03:05:59 26 4
gpt4 key购买 nike

说我有这样的事情:

# %superhash is some predefined hash with more than 0 keys;
%hash = ();
foreach my $key (keys %superhash){
$superhash{ $key } = %hash;
%hash = ();
}

superhash 的所有键都指向 %hash 访问的同一个空哈希吗?或者它们会是不同的空哈希?

如果没有,我如何确保它们指向空哈希?

最佳答案

您需要使用 \运算符引用复数数据类型(数组或散列),然后才能将其存储到任一类型的单个插槽中。但是在给出的示例代码中,如果被引用,每个将是相同的哈希。

初始化数据结构的方法是:

foreach my $key (keys %superhash) {
$superhash{ $key } = {}; # New empty hash reference
}

但是在 Perl 中,这样的初始化在很大程度上是不必要的。由于自动激活(当变量用作容器时创建适当的容器对象)。
my %hash;

$hash{a}{b} = 1;

现在 %hash有一个键,'a',它有一个匿名 hashref 的值,包含键/值对 b => 1 .数组以相同的方式自动激活。

关于perl - 如何在 Perl 中创建一个新的空哈希引用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2316481/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com