让我们说,我有一个数组,我知道我要做很多“数组包含X?检查。执行此操作的有效
方法是将该数组转换为哈希,其中键是数组的元素,然后您可以说
if($hash{X}) { ... }
有一个简单的方法来做这个数组到哈希转换?理想情况下,它应该是足够灵活的,以获取一个匿名数组和返回一个匿名哈希。
%hash = map { $_ => 1 } @array;
它不如“@hash {@array} = …”解决方案那么短,但是那些需要散列和数组已经在其他地方定义,而这可以采用匿名数组并返回匿名散列。
这是做数组中的每个元素,并将其与“1”配对。当(密钥,1,密钥,1,密钥1)对的这个列表被分配给散列时,奇数编号成为散列的密钥,并且偶数编号成为相应的值。
原文链接:https://www.f2er.com/Perl/173528.html