If: Else: EndIf
If <expression> ... [ElseIf <expression>] ... [Else] ... EndIf
Описание
Структура If используется для проверок, и/или изменения хода выполнения программы, в зависимости от истинности или ложности результата проверки. Необязательная команда ElseIf используется для любого количества дополнительных проверок если предыдущая проверка не была истинной. Необязательная команда Else используется для выполнения части кода в случае если все предыдущие проверки были ложными. Можно вложить друг в друга любое количество структур If.
Выражение <expression> может состоять из нескольких тестов, объединённых с помощью логических операторов (AND, OR, XOR, Not). Для выражений этого типа поддерживаются оценки короткого замыкания, это означает, что если тест даёт истину, то все последующие тесты проверяться не будут.
Пример: Обычный тест
a = 5 If a = 10 Debug "a = 10" Else Debug "a <> 10" EndIf
Пример: Тест множества условий
b = 15 If a = 10 And b >= 10 Or c = 20 If b = 15 Debug "b = 15" Else Debug "Other possibility" EndIf Else Debug "Test failure" EndIf
Пример: Тест с коротким замыканием
Procedure DisplayHello() Debug "Hello" ProcedureReturn 1 EndProcedure a = 10 If a = 10 Or DisplayHello() = 1 ; A равно 10, поэтому второй тест полностью игнорируется Debug "Test success" Else Debug "Test failure" EndIf