Команда IF |
Команда IF предоставляет возможность строить контекстнозависимые форматы, т. е. форматы, способные изменять выходные значения в зависимости от содержимого форматируемой записи.
IF условие THEN формат-1 ELSE формат-2 FI
где:
Условие |
логическое выражение, определенное в соответствии с правилами; |
Формат-1 |
формат, который вычисляется в том и только том случае, когда значением логического выражения является "истина"; |
формат-2 |
формат, который вычисляется в том и только том случае, когда значением логического выражения является "ложь". |
Фраза ELSE формат-2 не является обязательной, и может быть опущена.
Ключевые слова IF, THEN и FI обязательны всегда.
Формат-1 может быть опущен, если присутствует предложение ELSE (т.е. если условие истинно, то ничего не будет выведено).
Таким образом, команда IF может также принимать одну из следующих дополнительных форм:
IF условие THEN формат-1 FI
IF условие THEN ELSE формат-2 FI
Поскольку нет никаких ограничений на команды, которые можно использовать в формате-1 и формате-2, то команды IF могут быть вложены друг в друга любое количество раз. Ключевое слово FI, в таком случае, должно закрывать каждую команду IF (можно рассматривать IF и FI как пару скобок).
Например:
if p(v1) then v24 else if p(v2) and a(v3) then v5 fi fi
Команда IF особенно полезна для создания обобщенных форматов в интегрированных базах данных, которые содержат различные типы записей. В этом случае надо иметь различные метки для каждого типа записи (должно быть поле, содержащее код, идентифицирующий тип записи). Таким образом, проверяя тип документа с помощью команды IF, можно порождать в одном формате специфическое форматирование записей каждого типа. |
См. также: