П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 175046 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 72021 раз(а).

Учебник HTML.
Просмотров 72094 раз(а).

Руководство по PHP5.
Просмотров 42713 раз(а).

Хостинг через призму DNS.
Просмотров 49203 раз(а).

Подборка текстов стандартных документов.
Просмотров 43133 раз(а).

Учебник PHP - Самоучитель
Просмотров 49472 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 49731 раз(а).

Внешние атаки...
Просмотров 40264 раз(а).

Учебник PHP.
Просмотров 35294 раз(а).

SSI в примерах.
Просмотров 26571 раз(а).



 
 
| Добавить в избранное | Сделать стартовой | Помощь




Руководство пользователя для GNU Awk

11. Массивы в awk

11.6 Оператор delete (вычеркивание)

Можно удалять отдельные элементы массива, используя оператор delete: delete array[index]. Если вы вычеркнули элемент массива, вы не можете больше узнать значение, которое этот элемент имел. Дело обстоит так, как будто на него никогда не ссылались и не присваивали никакого значения. Вот пример вычеркивания элементов массива:

for (i in frequencies)
delete frequencies[i]

В этом примере удаляются все элементы массива frequencies. Если удален какой нибудь элемент, то никакой оператор for просмотра массива не обнаружит этот элемент и выдаст ноль (т.e. false):

delete foo[4] if (4 in foo)
print "Это никогда не будет напечатано"

Важно заметить, что вычеркнуть элемент есть не то же самое, что присвоить ему пустое значение (пустую цепочку ""):

foo[4] = "" if (4 in foo)
print "Это будет напечатано, хотя foo[4] теперь пусто"

Вычеркивание несуществующего элемента не считается ошибкой. Можно вычеркнуть все элементы массива одним оператором, убрав индекс в операторе delete: delete array . Эта возможность есть расширение gawk; она не доступна в режиме совместимости (см. раздел 14.1 [Параметры командной строки], стр.161). Эта версия оператора delete почти в три раза эффективнее, чем вычеркивание по одному элементу за раз.

Следующий оператор представляет переносимый, но не очевидный способ очистки массива.

# спасибо to Michael Brennan за указание этого способа
split("", array)

Функция split (см. раздел 12.3 [Встроенные функции для действий с цепочками], стр. 137) сначала очищает указанный массив. Этот вызов просит ее разделить пустую строку. Поскольку нет данных для разделения, функция только очищает массив.

ВНИМАНИЕ: Вычеркивание массива не меняет его тип; нельзя вычеркнуть массив и затем использовать его имя как скаляр. Например, такое не сработает:

a[1] = 3; delete a; a = 3

Назад | Вперед
Содержание (общее) | Содержание раздела



Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
 





Copyright © 2005-2016 Project.Net.Ru