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

О проекте

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

MySQL

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

Хостинг

Другое








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

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

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

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

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

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

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

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

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

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

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

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



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





5.6. Оператор цикла с ложным условием ("until")

Оператор цикла "until" имеет структуру:

   until условие
	do
	    список команд
	done

где "until" - служебное слово определяющее тип цикла с ложным условием. Список команд в теле цикла (между "do" и "done") повторяется до тех пор, пока сохраняется ложность условия или цикл не будет прерван изнутри специальными командами ("break", "continue" или "exit"). При первом входе в цикл условие не должно выполняться.

Отличие от оператора "while" состоит в том, что условие цикла проверяется на ложность (на ненулевой код завершения последней команды тела цикла) проверяется ПОСЛЕ каждого (в том числе и первого!) выполнения команд тела цикла.

Программистов, знакомых с операторами "until" в других языках может вначале сбивать такая семантика этого оператора.

Примеры.

    until false
    do
	 read x
	 if   [ $x = 5 ]
	   then echo enough ; break
	   else echo some more
	 fi
    done

Здесь программа с бесконечным циклом ждет ввода слов (повторяя на экране фразу "some more"), пока не будет введено "5". После этого выдается "enough" и команда "break" прекращает выполнение цикла.

Другой пример ("Ожидание полдня") иллюстрирует возможность использовать в условии вычисления.

    until date | grep 12:00:
    do
	 sleep 30
    done

Здесь каждые 30 секунд выполняется командная строка условия. Команда "date" выдает текущую дату и время. Команда "grep" получает эту информацию через конвейер и пытается совместить заданный шаблон "12:00:" с временем, выдаваемым командой "date". При несовпадении "grep" выдает код возврата "1", что соответствует значению "ложь", и цикл "выполняет ожидание" в течение 30 секунд, после чего повторяется выполнение условия. В полдень (возможно с несколькими секундами) произойдет сравнение, условие станет истинным, "grep" выдаст на экран соответствующую строку и работа цикла закончится.

[Назад] [Содержание] [Вперед]



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