perl - 将散列元素初始化为 0

标签 perl hashcode perl-data-structures

我通过这样做在 Perl 中声明一个散列:

my %hash = ();

我继续向散列中添加元素。有时,$hash{$x} 未定义,这意味着它可能是 null。所以当我尝试打印它时,我什么也得不到。如果未定义条目 $x,我希望看到 0。有人可以告诉我该怎么做吗?如何将散列元素初始化为 0

最佳答案

您可以在遇到未定义的值时使用 defined-or operator 打印默认值,而不是尝试设置默认值。 , //(适用于 Perl 5.10 及更高版本)。

在这个例子中,当你打印你的散列元素时,你要么打印元素,要么如果它没有定义,0:

use 5.010;

say $hash{$x} // 0;

关于perl - 将散列元素初始化为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30228797/

相关文章:

html - 我应该为静态 HTML 应用程序使用哪个 Perl Web 框架?

Perl,在 x 秒后使脚本超时?

Perl Tkx, "button"和 "ttk__button"之间有什么区别?

java - 为特定条件维护 hashCode 契约(Contract),equals() 取决于两个整数

c# - Dictionary 是否损坏或 GetHashCode() 应该仅基于不可变成员?

perl - 无法正确合并哈希

string - 我该如何解决这种 "Useless use of a variable in a void context"的情况?

java - Spark 是否在其集群中维护哈希函数?

arrays - 从数组中的元素创建组合

perl - 如何在 Perl 中遍历哈希(哈希)?