Perl   发布时间:2022-04-07  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何确定Perl哈希是否包含映射到未定义值的键?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要确定Perl哈希是否具有给定键,但该键将映射到undef值.具体来说,这样做的动机是在使用带有散列引用的getopt()时看到布尔标志.我已经搜索了这个网站和谷歌,而且exists()和defined()似乎不适用于这种情况,他们只是看看给定键的值是否未定义,他们不检查是否哈希实际上有关键.如果我是RTFM,请指出解释此问题的手册.

解决方法

不正确.这确实是define()的作用,但exists()完全符合你的要求:

@H_137_8@my %hash = ( key1 => 'value',key2 => undef,); foreach my $key (qw(key1 key2 key3)) { print "\$hash{$key} exists: " . (exists $hash{$key} ? "yes" : "no") . "\n"; print "\$hash{$key} is defined: " . (defined $hash{$key} ? "yes" : "no") . "\n"; }

生产:

$hash{key1} exists: yes
$hash{key1} is defined: yes
$hash{key2} exists: yes
$hash{key2} is defined: no
$hash{key3} exists: no
$hash{key3} is defined: no

这两个函数的文档可以在命令行中找到perldoc -f defined和perldoc -f exists(或者阅读perldoc perlfunc *中所有方法的文档).官方网站文档在这里:

> http://perldoc.perl.org/functions/exists.html
> http://perldoc.perl.org/functions/defined.html

*由于您特别提到了RTFM并且您可能不知道Perl文档的位置,我还要指出您可以在perldoc perl或http://perldoc.perl.org获得所有perldoc的完整索引.

大佬总结

以上是大佬教程为你收集整理的如何确定Perl哈希是否包含映射到未定义值的键?全部内容,希望文章能够帮你解决如何确定Perl哈希是否包含映射到未定义值的键?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。