![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| Pavlik Morozov |
|
|||
|
Unregistered |
Привет!
Чайниковский вопрос, конечно... но.... Есть массив @somearray надо удалить из него переменную с индексом $i или значением $value... предпочтительно второе.... как это сделать просто и правильно... без гемора (типа создания нового массива)? Очень надо.... |
|||
|
||||
| Ampersand |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 46 Регистрация: 20.5.2002 Репутация: нет Всего: нет |
Используй хэш, если условия задачи позволяют.
|
|||
|
||||
| NightGoblin |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1021 Регистрация: 24.11.2002 Где: 127.0.0.1 Репутация: нет Всего: 11 |
Можно сделать через срезы (slices):
@somearray = (@somearray[0 .. $i - 1], @somearray[$i + 1 .. $#somearray]); -------------------- Kernel panic: /dev/null overflow! GCS/IT/MU/O d-@ s: a- C++$>++++$ ULSB(+++) P+++ L+++>++++ !E W++(-) N o? K w-- O? M>+ V? PS+ PE Y+ PGP+>+++ t- 5 X+ R- !tv b+ DI+ D+ G e++ h--- r++ y? B4F1 54B6 8738 26CD 5125 0581 B923 9273 FE59 1981 |
|||
|
||||
| Powerhead |
|
|||
|
Unregistered |
Переменную с индексом $i удалить так:
splice(@somearray, $i, 1); единица в этом выражении - количество удаляемых элементов. А чтоб $value, по моему, придётся его разыскать: foreach (0..$#somearray){ if ($somearray[$_] == $value){ splice(@somearray, $_, 1); last; } } Если нужно удалить несколько элементов, разбросанных по массиву, то задача усложняется.. Если нада - пиши. |
|||
|
||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |