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

О проекте

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

MySQL

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

Хостинг

Другое








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

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

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

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

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

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

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

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

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

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

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

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



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





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" выдаст на экран соответствующую строку и работа цикла закончится.

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



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