Как я могу получить относительное дополнение двух строк массива? - PullRequest
0 голосов
/ 06 ноября 2018
my @A = ("aa","bb");

my @B = ("aa","cc");

Это то же понятие, что и относительное дополнение к множеству. (A-B) Выход должен быть "bb". Я не хочу использовать какие-либо внешние модули Perl, только встроенные функции Perl.

1 Ответ

0 голосов
/ 06 ноября 2018
my @A = ("aa","bb"); 
my @B = ("aa","cc");

# make a hash with all the elements of @B as keys
my %B;
@B{@B} = ();

my @complement = grep { ! exists $B{$_} } @A;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...