Удаление элементов массива из определенного индекса до конца, пока не появится допустимый элемент - PullRequest
0 голосов
/ 30 июля 2011

Привет, у меня есть этот массив, скажем,

name[0] =  hello
name[1] = bye
name[2] = ok
name[3] = wassup
and so on....

Я хочу вытолкнуть элементы из индекса 2 в конец массива, потому что я хочу заменить их новыми. Я запускаю цикл такне могу отследить отдельные индексы, но смог бы отследить элемент 2. Так как я могу вытолкнуть элементы от 2-х до остальных, пока массив не определится?

я использовал

delete array[2,..]

это действительно?

Ответы [ 3 ]

4 голосов
/ 30 июля 2011

Это то, для чего предназначена функция splice ; просто сделай splice @array, 2;.

0 голосов
/ 30 июля 2011
my @array = ( ... stuff ...);
@array = @array[0 .. 1];

Просто возьмите то, что вы хотите, и оставьте все остальное.

Возможно, вы рассматриваете возможность сопоставления с определенным значением массива:

my @array = ( stuff );
my @rest;

for (0 .. $#array) {
    if ($array[$_] =~ /^ok$/) { push @rest, @array[$_ .. $#array]; last }
}
0 голосов
/ 30 июля 2011

Назначить фрагмент массива себе:

@array = @array[0,1];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...