Вы видели стиль C для цикла и pairwise
. Вот идиоматических Perl для цикла и map
:
my @arr1 = (1, 0, 0, 0, 1);
my @arr2 = (1, 1, 0, 1, 1);
my @for_loop;
for my $i (0..$#arr1) {
push @for_loop, $arr1[$i] + $arr2[$i];
}
my @map_array = map { $arr1[$_] + $arr2[$_] } 0..$#arr1;
Мне нравится map
и pairwise
лучшее. Я не уверен, что у меня есть предпочтение между этими двумя вариантами. pairwise
обрабатывает некоторые скучные детали сантехники для вас, но он не является встроенным, как map
. С другой стороны, решение карты очень идиоматично и может быть непрозрачным для стороннего игрока.
Итак, никаких реальных побед для любого подхода нет. ИМО, как pairwise
, так и map
являются хорошими.
Всегда ли цифры 0 и 1? Если это так, вы можете рассматривать это как целое число и просто добавить два целых числа вместе, чтобы дать вам третье целое число с теми же цифрами, что и этот массив. – Benj
Очевидно, что также предполагается, что количество цифр невелико. – Benj
Всё нормально. У меня только 0 и 1. –