gpt4 book ai didi

Perl:如何测试是否已将任何值(甚至零)分配给哈希键

转载 作者:行者123 更新时间:2023-12-02 00:29:20 24 4
gpt4 key购买 nike

是否有正确的方法来测试特定哈希键是否已被分配任何值,即使该值为零?我一直在使用这样的声明:

%hash=();
$hash{a}=1;
$hash{b}=0;
if($hash{$key}) { do something }

但是对于从未被触摸过的键和那些被赋值为 0 的键,这给出了相同的结果(例如 $hash{b} 和 $hash{c} 都评估为“false”)。有没有办法区分这两者之间的区别?

最佳答案

使用defined运算符检查某些内容是否具有非 undef

的值
if ( defined $hash{ $key } ) {
//do stuff
}

使用exists运算符检查 %hash$key 是否已写入

if ( exists $hash{ $key } ) {
//do stuff
}

区别在于,define 检查某个值是否为 undef 以外的值,而 exists 用于验证 >$key 是哈希的键,尽管它有值。

关于Perl:如何测试是否已将任何值(甚至零)分配给哈希键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7110033/

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