Справочник по массивам Perl

Spravocnik Po Massivam Perl



Когда для какой-либо переменной создается ссылочная переменная и изменяется значение основной переменной, одновременно изменяется значение ссылочной переменной. Потому что и «основная», и «ссылочная» переменная находятся в одном и том же месте в памяти. Ссылочная переменная как скалярной, так и векторной переменной может быть определена в Perl. Массив — это один из типов векторных переменных в Perl. В этом уроке показаны методы создания и использования ссылочной переменной массива Perl.

Различные варианты использования ссылки на массив

Ниже показано использование ссылочных переменных массива для различных целей:

Переменная массива Ссылочная переменная массива Цель
@множество @{ $ref_array } Он используется для ссылки на все значения массива.
скаляр @array скаляр @ref_array Он используется для подсчета общего количества массивов.
$#массив $#ref_array Он используется для определения наибольшего индекса.
$array[индекс] $tef_array->[индекс] Он используется для ссылки на конкретный элемент массива.

Использование ссылок на массивы Perl

В этой части руководства показаны различные варианты использования ссылочных переменных массива Perl.







Пример 1. Создание ссылки на массив

Создайте файл Perl с помощью следующего сценария, который объявляет массив из четырех строковых значений и ссылочную переменную этого массива. Ссылочная переменная хранит местоположение памяти основного массива, и обе переменные находятся в одном и том же месте. Содержимое ссылочной переменной и основного массива выводится позже.



#!/usr/bin/perl

используйте строгий ;
использовать предупреждения ;
используйте 5.34.0 ;
используйте данные::Dumper ;

#Объявляем массив строк
мой @ отставший '=' ( «Перл» , 'Джава' , 'Баш' , «Питон» ) ;

#Создаем ссылку на переменную массива
мой $ref_array '=' \ @ отставший ;

сказать «Содержимое ссылки на массив — $ref_array» ;

сказать 'Значения массива с использованием переменной Dumber: ' ;
#Распечатываем ссылочную переменную с помощью переменной Dumper
Распечатать Дампер $ref_array ;

Выход:



При выполнении скрипта появляется следующий вывод:





  п1

Пример 2. Обновление массива после создания ссылки

Создайте файл Perl с помощью следующего сценария, который показывает, что при изменении любого элемента основного массива одновременно изменяется соответствующее значение переменной ссылочного массива. Все значения основного массива печатаются перед обновлением любого значения массива, а все значения ссылочного массива печатаются после обновления второго элемента с использованием переменной «dump».



#!/usr/bin/perl

используйте строгий ;
использовать предупреждения ;
используйте 5.34.0 ;
используйте данные::Dumper ;

#Объявляем массив строк
мой @ отставший '=' ( «Перл» , 'Джава' , 'Баш' , «Питон» ) ;

сказать 'Основные значения массива: ' ;
#Распечатываем ссылочную переменную с помощью переменной Dumper
Распечатать Самосвал \ @ отставший ;

#Создаем ссылку на переменную массива
мой $ref_array '=' \ @ отставший ;

#Обновляем второй элемент массива
$страрр [ 1 ] '=' 'С++' ;

сказать «Значения эталонного массива (после обновления основного массива):» ;
#Распечатываем ссылочную переменную с помощью переменной Dumper
Распечатать Дампер $ref_array ;

Выход:

Следующий вывод появляется после выполнения сценария. Согласно выходным данным, второй элемент в ссылочном массиве изменяется на «C++», поскольку второй элемент основного массива обновляется значением «C++»:

  п2

Пример 3. Передача ссылки на массив в подпрограмму

Создайте файл Perl с помощью следующего сценария, в котором ссылочная переменная массива отправляется в качестве аргумента подпрограммы. Значение третьего индекса массива обновляется с использованием ссылочной переменной внутри подпрограммы. Значения основного массива выводятся до и после обновления третьего индекса ссылочной переменной с помощью переменной «dump».

#!/usr/bin/perl

используйте строгий ;
использовать предупреждения ;
используйте 5.34.0 ;
используйте данные::Dumper ;

#Объявляем массив чисел
мой @ цифры '=' ( 67 , 3. 4 , 90 , 12 , 39 ) ;

сказать «Значения основного массива перед обновлением:» ;
Распечатать Самосвал \ @ цифры ;

#Передаем массив в качестве ссылки в подпрограмму
чтение_массива ( \ @ цифры ) ;
#Declare подпрограмма для изменения значения массива
дополнительный read_array
{
#Определяем ссылочную переменную массива
мой $arr_ref '=' $_ [ 0 ] ;
#Обновляем третий элемент массива
$arr_ref- > [ 2 ] '=' 99 ;
}
сказать 'Значения основного массива после обновления:' ;
Распечатать Самосвал \ @ цифры ;

Выход:

Следующий вывод появляется после выполнения сценария. Третий элемент массива был 90, и это значение было изменено на 99 с помощью ссылочной переменной массива. Третий элемент исходного массива также обновляется на 99, поскольку обе переменные находятся в одном и том же месте:

  п3

Заключение

В этом руководстве показаны методы доступа или обновления значений массива путем создания ссылочной переменной массива. Пользователи Perl получат четкое представление об использовании ссылочных переменных массива Perl после прочтения этого руководства.