gpt4 book ai didi

perl - 如何合并两个没有任何重复的数组

转载 作者:行者123 更新时间:2023-12-04 22:08:34 26 4
gpt4 key购买 nike

@tools = ("hammer", "chisel", "screwdriver", "boltcutter",
"tape", "punch", "pliers");
@fretools =("hammer", "chisel", "screwdriver" ,"blade");

push @tools,@fretools if grep @tools,@fretools

我有工具
  @tools=("hammer", "chisel", "screwdriver", "boltcutter", 
"tape", "punch", "pliers", "blade");

有什么简单的方法吗?

最佳答案

List::MoreUtils CPAN 模块有一个 uniq功能来做到这一点。如果你不想依赖这个模块来安装,你可以简单地复制uniq模块源代码中的函数(因为它是纯 Perl)并将其直接粘贴到您自己的代码中(带有适当的确认)。一般来说,使用来自 CPAN 的代码的优点是它的行为被记录并且经过了很好的测试。

use strict;
use warnings;
use Data::Dumper;

sub uniq (@) {
# From CPAN List::MoreUtils, version 0.22
my %h;
map { $h{$_}++ == 0 ? $_ : () } @_;
}

my @tools = ("hammer", "chisel", "screwdriver", "boltcutter",
"tape", "punch", "pliers");
my @fretools =("hammer", "chisel", "screwdriver" ,"blade");
@tools = uniq(@tools, @fretools);
print Dumper(\@tools);

__END__

$VAR1 = [
'hammer',
'chisel',
'screwdriver',
'boltcutter',
'tape',
'punch',
'pliers',
'blade'
];

关于perl - 如何合并两个没有任何重复的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3256058/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com