Как можно удалить элемент из массива в Perl?

Пользователь

от jazmyne , в категории: Другие , год назад

Как можно удалить элемент из массива в Perl?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от jamey.kohler , год назад

@jazmyne 

В Perl можно удалить элемент из массива несколькими способами. Рассмотрим наиболее распространенные из них:

  1. С помощью функции splice:
1
2
my @array = (1, 2, 3, 4, 5); # создаем массив
splice(@array, 2, 1);        # удаляем элемент с индексом 2


Эта команда удалит элемент с индексом 2 и сдвинет все последующие элементы на одну позицию влево. В результате массив @array будет содержать элементы (1, 2, 4, 5).

  1. С помощью оператора delete:
1
2
my @array = (1, 2, 3, 4, 5); # создаем массив
delete $array[2];            # удаляем элемент с индексом 2


Эта команда удалит элемент с индексом 2, но не сдвинет остальные элементы. В результате массив @array будет содержать элементы (1, 2, undef, 4, 5).

  1. С помощью функции grep:
1
2
my @array = (1, 2, 3, 4, 5); # создаем массив
@array = grep { $_ != 3 } @array; # удаляем элемент со значением 3


Эта команда создаст новый массив @array, в котором отфильтрует элементы, удовлетворяющие условию, заданному в блоке grep. В результате массив @array будет содержать элементы (1, 2, 4, 5).