| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > массивы... очень простой вопрос |
| Автор: Pavlik Morozov 15.9.2002, 21:05 |
| Привет! Чайниковский вопрос, конечно... но.... Есть массив @somearray надо удалить из него переменную с индексом $i или значением $value... предпочтительно второе.... как это сделать просто и правильно... без гемора (типа создания нового массива)? Очень надо.... |
| Автор: Ampersand 16.9.2002, 14:47 |
| Используй хэш, если условия задачи позволяют. |
| Автор: NightGoblin 27.11.2002, 14:40 |
| Можно сделать через срезы (slices): @somearray = (@somearray[0 .. $i - 1], @somearray[$i + 1 .. $#somearray]); |
| Автор: Powerhead 27.11.2002, 21:54 |
| Переменную с индексом $i удалить так: splice(@somearray, $i, 1); единица в этом выражении - количество удаляемых элементов. А чтоб $value, по моему, придётся его разыскать: foreach (0..$#somearray){ if ($somearray[$_] == $value){ splice(@somearray, $_, 1); last; } } Если нужно удалить несколько элементов, разбросанных по массиву, то задача усложняется.. Если нада - пиши. |