Руководство пользователя для GNU Awk
9. Управляющие операторы в действиях
9.2 Оператор while
В программировании циклом называется часть программы, которая может исполняться последовательно два или более раз. Оператор while представляет простейший циклический оператор в awk. Он повторяет выполнение некоторого оператора, пока условие сохраняет значение true.
Выглядит он так:
while (condition)
body
Здесь body означает оператор, который мы называем телом цикла, а condition есть выражение, которое управляет длительностью повторения тела.
Первое, что делает оператор while, есть вычисление condition. Если condition имеет значение true, выполняется оператор body. После этого опять проверяется condition и если оно все еще имеет значение true, оператор body выполняется снова. Этот процесс продолжается, пока condition имеет значение true. Если condition изначально имеет значение false, то тело цикла не выполняется ни одного раза и awk продолжает работу с оператора, следующего за циклом.
Следующий пример печатает первые три поля каждой записи, по одному в строке.
awk '- i = 1
while (i != 3) -
print $i i++ "" ""' inventory-shipped
Здесь тело цикла есть составной оператор, заключенный в скобки, содержащий два оператора. Цикл работает следующим образом: сначала переменной i присваивается значение 1. Затем while проверяет, верно ли что i меньше или равно трем. Это верно при i равном единице, так что печатается i-е поле. Затем `i++' увеличивает значение i и цикл повторяется. Он прекращает работу, когда i достигнет четырех.
Как вы видите, переход к новой строке (newline) не требуется между условием и телом; но новая строка делает программу понятнее, если тело не является составным оператором или очень просто. Новая строка после открывающей скобки также не требуется, но программа без нее становится более трудно читаемой.
Назад | Вперед
Содержание (общее) | Содержание раздела
Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
|