IF
Инструкция IF используется для условного выполнения инструкции или группы инструкций в зависимости от результата вычисления выражения. Результат вычисления выражения должен быть равен 0 или 1.
Инструкция, следующая за THEN, выполняется только в том случае, если результат вычисления равен 1. Если Вы указали предложение ELSE, то инструкция, следующая за ELSE, выполняется только в том случае, если результат вычисления равен 0.
Пример: if answer='ДА' then say 'Хорошо!' else say 'Почему нет?'
Не забывайте, что если предложение ELSE находится в той же строке, что и последняя часть предложения THEN, то их нужно разделить точкой с запятой.
Пример: if answer='ДА' then say 'Хорошо!'; else say 'Почему нет?'
Предложение ELSE связывается с ближайшей инструкцией соответствующего уровня. Чтобы исключить ошибки и возможную путаницу при написании вложенных конструкций IF, можно использовать инструкцию NOP, как показано в следующем примере.
Пример: If answer = 'ДА' Then If name = 'ФРЕД' Then say 'Хорошо, Фред.' Else nop Else say 'Почему нет?'
Примечания:
- Инструкцией может быть любой оператор присваивания, команда или ключевая инструкция, включающая любую более сложную конструкцию, такую как DO, SELECT или саму инструкцию IF. Предложение, содержащее пустую строку, не является инструкцией; поэтому указание за THEN или ELSE дополнительной точки с запятой не равнозначно выполнению фиктивной инструкции (как это принято в языке С). Для этих целей предназначена инструкция NOP.
- Слово THEN нельзя использовать внутри выражения (в котором оно не предназначается для начала предложения), так как ключевое слово THEN обрабатывается иначе. Если же оно используется, то это может привести к завершению выражения в предложении IF посредством символа THEN, указанного без требуемого разделителя (;). Если бы это было не так, то пользователи других компьютерных языков испытывали бы определенные затруднения.