Оператор reverse

Оператор reverse получает список значений (например, из массива) и возвращает его переставленным в обратном порядке. Например, если вас огорчает, что диапазонный оператор .. работает только «снизу вверх», проблема легко решается:

@fred = 6..10;
@barney = reverse(@fred); # Содержит 10, 9, 8, 7, 6
@wilma = reverse 6..10; # То же без использования другого массива
@fred = reverse @fred; # Результат снова возвращается
# к исходному состоянию

Обратите особое внимание на последнюю строку из-за двукратного использования @fred. Perl всегда вычисляет присваиваемое значение (справа) перед выполнением самого присваивания. Помните, что reverse возвращает обращенный список; аргументы при этом не изменяются. Если возвращаемое значение ничему не присваивается, оно бесполезно:

reverse @fred; # ОШИБКА - @fred не изменяется
@fred = reverse @fred; # Так лучше

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела Perl на эту тему:
в списочном контексте
Главная служебная переменная: $_
Интерполяция массивов в строках
Использование выражений, создающих скаляры, в списочном контексте
Использование выражений, создающих списки, в скалярном контексте

Вернуться в раздел: Perl / 2. Списки и массивы