next up previous contents
Next: 9.5 Встроенные функции языка Up: 9. Подсистема сканирования, анализа Previous: 9.3 Встроенные переменные awk

9.4 Массивы

Как уже упоминалось ранее, массивы в языке awk являются одномерными. Массивы являются ассоциативными массивами, т.е. значениями индексов являются строками (последовательности символов). Индексы массива располагаются в квадратных скобках. Например, выражение

k="A"; l="B";: \\
x[k, l] = "Привет ребята \n"
присвоит строку Привет ребята \n элементу массива x, который имеет индекс в виде строки A\034B, т.е. сцепленные символы A и B и значение переменной SUBSEP между ними.

Можно использовать следующие конструкции в условных операторах awk

if (Val in array) print array[Val]
т.е. если в массиве array имеется индекс Val, то вывести значение элемента массива соответствующего индексу Val. Если массив имеет индексы как показано выше [k, l], то следует использовать:
if ((k, l) in array) print array[k, l]


next up previous contents
Next: 9.5 Встроенные функции языка Up: 9. Подсистема сканирования, анализа Previous: 9.3 Встроенные переменные awk
Andrei Chevel
Andrei.Chevel@pnpi.spb.ru