gpt4 book ai didi

Perl 哈希值 : assign value to a key and see if the key was defined

转载 作者:行者123 更新时间:2023-12-01 02:07:29 26 4
gpt4 key购买 nike

是否有一种有效的方法可以查看散列键分配是否导致添加新项目或修改现有项目?行为类似于 add功能在此 Bloom's filter implementation .

在下面的构造中执行了两次查找:一次显式使用 exists以及在分配期间隐含的另一个时间。因此,第一次查找在逻辑上是多余的。

my %hash;
my $key;
...
my $existed = exists $hash{$key};
$hash{$key} = 1;

最佳答案

通过“项目”,我认为您的意思是“ key ”。

如果该值没有意义,您可以使用以下内容:

my $dup = $hash{$key}++;

如果该值有意义,您可以使用以下内容:
my $dup = exists($hash{$key});
$hash{$key} = $val;

如果该值有意义但始终已定义,则可以使用以下内容:
my $ref = \$hash{$key};
my $dup = defined($$ref);
$$ref = $val;

顺便说一句,第一个片段可以轻松扩展以从列表中过滤掉重复项。
my %seen;
my @unique = grep !$seen{$_}++, @list;

关于Perl 哈希值 : assign value to a key and see if the key was defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31347149/

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