我想用 Perl 表示一个集合。我通常做的是使用带有一些虚拟值的哈希,例如:
my %hash=();
$hash{"element1"}=1;
$hash{"element5"}=1;
然后使用if (define $hash{$element_name})
来判断某个元素是否在集合中。
这是一种常见做法吗?有什么改进建议吗?
另外,我应该使用define
还是exists
?
谢谢
最佳答案
是的,以这种方式构建哈希集是一种常见的习惯用法。请注意:
my @keys = qw/a b c d/;
my %hash;
@hash{@keys} = ();
优于使用 1
作为值,因为 undef
占用的空间要少得多。这也迫使您使用 exists
(无论如何,这是正确的选择)。
关于perl - 如何在 Perl 中表示集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3700037/