13.2.3 Оператор If..then..else |
Вверх Предыдущий Следующий |
Синтаксический шаблон If..then..else.. Оператор if then Выражение между ключевыми словами if и then должно иметь результат типа Boolean. Если выражение имеет значение True, то выполняется оператор (простой или составной) следующий за ключевым словом then. Если выражение имеет значение False, то тогда выполняется оператор (простой или составной) после ключевого слова else, если он присутствует. Некоторые моменты, нужно учесть: •Помните о том, что логическое выражение по умолчанию будет вычислено по схеме короткого замыкания, это значит, что вычисление будет остановлен в точке, где результат уже определён. •Кроме того, перед ключевым словом else, точка с запятой (;) не допускается, но все операторы могут быть вложенными операторами. Во вложенной конструкции if..then..else, может возникнуть некоторая двусмысленность, какое else с каким if в паре. •Правило гласит, что ключевое слово else соответствует первому же ключевым словом if (в обратном порядке), уже не соответствует ключевому слову else. Например: If exp1 Then If exp2 then Stat1 else stat2; Несмотря на внешний вид, этот код синтаксически эквивалентен If exp1 Then begin If exp2 then Stat1 else stat2 end; а не { НЕ ЭКВИВАЛЕНТНО } If exp1 Then begin If exp2 then Stat1 end else stat2; Если необходима последняя конструкция, то должны присутствовать ключевые слова begin и end. Если сомневаетесь, их лучше добавить. Следующий оператор допустим: If Today in [Monday..Friday] then WriteLn ('Должно быть работать тяжелее') else WriteLn ('Возьмите выходной день.'); |