Различные варианты использования ссылки на массив
Ниже показано использование ссылочных переменных массива для различных целей:
Переменная массива | Ссылочная переменная массива | Цель |
@множество | @{ $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 ;
Выход:
При выполнении скрипта появляется следующий вывод:
Пример 2. Обновление массива после создания ссылки
Создайте файл Perl с помощью следующего сценария, который показывает, что при изменении любого элемента основного массива одновременно изменяется соответствующее значение переменной ссылочного массива. Все значения основного массива печатаются перед обновлением любого значения массива, а все значения ссылочного массива печатаются после обновления второго элемента с использованием переменной «dump».
#!/usr/bin/perl
используйте строгий ;
использовать предупреждения ;
используйте 5.34.0 ;
используйте данные::Dumper ;
#Объявляем массив строк
мой @ отставший '=' ( «Перл» , 'Джава' , 'Баш' , «Питон» ) ;
сказать 'Основные значения массива: ' ;
#Распечатываем ссылочную переменную с помощью переменной Dumper
Распечатать Самосвал \ @ отставший ;
#Создаем ссылку на переменную массива
мой $ref_array '=' \ @ отставший ;
#Обновляем второй элемент массива
$страрр [ 1 ] '=' 'С++' ;
сказать «Значения эталонного массива (после обновления основного массива):» ;
#Распечатываем ссылочную переменную с помощью переменной Dumper
Распечатать Дампер $ref_array ;
Выход:
Следующий вывод появляется после выполнения сценария. Согласно выходным данным, второй элемент в ссылочном массиве изменяется на «C++», поскольку второй элемент основного массива обновляется значением «C++»:
Пример 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, поскольку обе переменные находятся в одном и том же месте:
Заключение
В этом руководстве показаны методы доступа или обновления значений массива путем создания ссылочной переменной массива. Пользователи Perl получат четкое представление об использовании ссылочных переменных массива Perl после прочтения этого руководства.