У меня есть этот код
if (@row1) {
die "Bad format!" if @row1 != @row2;
my @new = map { abs ($row2[$_] - $row1[$_]) } 0..$#row2;
, в результате которого получается абсолютное значение row2 -row1.
Я попытался вместо abs (row2-row1) найти абсолютное значение элемент 2 - элемент 1 одной и той же строки каждой из всех строк, в непрерывном верхнем коде. Моя цель - получить abs (row2 -row1) -> из новых значений -> второй элемент -первый элемент одной и той же строки для всех строк.
1 2 3 4
1 4 3 4
1 5 2 3
стать
0 2 0 0
0 1 1 1
что уже сделано, а затем получить окончательный вывод
2 2 0
1 0 1
Поэтому я отредактировал верхний код:
for ($i=1,$i++,$i>$row){
my @new1 = map { abs ($row1[$2+$i] - $row1[$1+$i]) } 0..$#row1;
say join " ", @new1;}
но я получил "Использование неинициализированного значения $ i дополнительно". Я также заменяю $ i на «my $ i», а также на «i» и go те же ошибки. Может ли кто-нибудь объяснить мне, почему то, что я пытаюсь сделать, неправильно?