大佬教程收集整理的这篇文章主要介绍了如何检查两个数组在Perl中是否包含相同的元素?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我的@a =(1,2,3);
我的@b =(2,3,1);
我的@c =(1,4);
&相同(@ a,@ b)返回1
&相同(@ a,@ C)返回0
谢谢!
sub have_same_elements { my ($arr1,$arr2) = @_; my %counts = (); $counts{$_} += 1 foreach (@$arr1); $counts{$_} -= 1 foreach (@$arr2); return !(grep { $_ != 0 } values %counts); } $a_and_b_same = have_same_elements(\@a,\@b); # will be true $a_and_c_same = have_same_elements(\@a,\@c); # will be false
(注意,这可能会或可能不适用于执行自己的字符串化的对象.散列键不能是引用,因此Perl在使用时将引用字符串化.它的默认字符串将引用转换为类似ARRAY(0x12345678)的引用,这使得引用除非它们是相同的东西.但如果一个对象做了自己的字符串化并且不为不同的引用返回不同的字符串,那么这可能会破坏.就这样你知道.)
以上是大佬教程为你收集整理的如何检查两个数组在Perl中是否包含相同的元素?全部内容,希望文章能够帮你解决如何检查两个数组在Perl中是否包含相同的元素?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。