gpt4 book ai didi

perl:子程序中添加的散列条目丢失

转载 作者:行者123 更新时间:2023-12-02 05:43:23 25 4
gpt4 key购买 nike

为什么第二次调用 printHash 时哈希为空?

my %hash = ();
addToHash(\%hash);
printHash(\%hash);

sub addToHash {
my %hash = %{$_[0]};
$hash{"test"} = "test";
printHash(\%hash);
}

sub printHash {
print "printHash: \n";
my %hash = %{$_[0]};
foreach my $key (keys %hash) {
print "key: $key, value: $hash{$key}\n";
}
}

输出:

打印哈希:

键:测试,值:测试

打印哈希:

最佳答案

sub addToHash {
my %hash = %{$_[0]};
$hash{"test"} = "test";
printHash(\%hash);
}

my %hash 创建一个新散列,您可以将参数引用的散列复制到其中。你要

sub addToHash {
my $hr = $_[0];
$hr->{"test"} = "test";
printHash($hr);
}

为了修改原来的哈希。

关于perl:子程序中添加的散列条目丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12288989/

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