Руководство пользователя для GNU Awk
11. Массивы в awk
11.2 Ссылки на элемент массива
Основной путь использования массивов состоит в ссылке на их отдельные элементы. Ссылка на массив есть выражение формы:
array[index]
Здесь array означает имя массива. Выражение index есть индекс элемента массива, на который вы ссылаетесь. Значение ссылки на массив есть текущее значение соответствующего элемента. Например, foo[4.3] есть выражение для элемента массива foo с индексом `4.3'. Ссылка на элемент массива, значение которому еще не присвоено, имеет пустое значение "". Это относится также к элементам, которые были вычеркнуты (см. раздел 11.6 [Оператор delete], стр. 128). Такая ссылка автоматически создает этот элемент со значением пустой цепочки. (В некоторых случаях это плохо, потому что зря занимается память внутри awk.)
Вы можете определить, существует ли элемент массива с некоторым индексом, используя выражение: index in array. Это выражение проверяет, существует или нет указанный индекс, без побочного эффекта создания элемента, если его не было. Это выражение имеет значение один (true) если array[index] существует, и ноль (false), если он не существует.
Например, чтобы проверить, содержит ли массив frequencies индекс `2', можно написать такой оператор:
if (2 in frequencies)
print "Subscript 2 is present."
Заметьте, что это не есть тест на то, содержит ли массив frequencies элемент со значением два. (Чтобы установить это, нет другого пути кроме просмотра всех его элементов.) Итак, это выражение не создает frequencies[2], в то время как следующая (неправильная) альтернатива его создает:
if (frequencies[2] != "")
print "Subscript 2 is present."
Назад | Вперед
Содержание (общее) | Содержание раздела
Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
|