НАЧАЛО >> Оглавление >> Общее описание >> Язык форматирования ИРБИС >> Выражения >> Логические выражения.
Логические выражения используются для вычисления истинности одного или более условий. Операндами логического выражения могут быть:
Выражение отношения позволяет определять находятся ли указанные два значения в соответствующем соотношении или нет. Общий вид выражения отношения следующий:
выражение-1 оператор-отношения выражение-2,
где:
| Оператор | Значение |
|---|---|
| = | равно |
| <> | не равно |
| < | меньше |
| <= | меньше или равно |
| > | больше |
| >= | больше или равно |
| : | содержит (используется только для строковых выражений) |
Операторы отношений =, <>, <, <=, >, >= имеют обычное значение при их применении к числовым выражениям. При сравнении строковых выражений применяются следующие правила:
Оператор "содержит" (:) проверяет наличие вхождения строки символов, определенной выражением-2, в другую строку, определенную выражением-1. При наличии такого вхождения выражение принимает значение истина. Этот оператор является нечувствительным к прописным и строчным буквам: для него соответствующие прописные и строчные буквы одинаковы.
Например, результатом выражения
v10 : 'химия'
будет истина, если поле 10 содержит в качестве своей подстроки строку химия, в противном случае результатом будет ложь. Отметим, что вторым операндом может быть произвольная строка символов, которая не обязательно совпадает со словом. Так, в приведенном выше примере, результат будет истина не только, когда поле 10 содержит слово химия, но и когда поле содержит такие слова, как биохимия, фотохимия и др.
Операнды логических выражений могут объединяться с помощью следующих логических операторов:
При вычислении логических выражений, при отсутствии скобок, сначала выполняются операции NOT, затем операции AND, и, наконец, операции OR. Последовательность из двух или более операторов одного уровня обрабатывается слева направо. Можно использовать скобки для изменения порядка вычисления: выражения, заключенные в скобки, вычисляются первыми, а выражения с большей глубиной вложенности вычисляются перед выражениями с меньшей глубиной вложенности скобок. Ниже приведены примеры логических выражений.
| Выражения | Значения |
|---|---|
| mfn=34 | Истина |
| not mfn=34 | Ложь |
| not (not mfn=34) | Истина |
| v20 = 'люди' | Ложь |
| v200 : 'люди' | Истина |
| v200 : 'ЛЮДИ' | Истина |
| v210^c.6 = 'Военное' | Ложь |
| v210^c.7 = ‘Военное' | Истина |
| (v200 : 'люди') AND (v210^c.7= 'Военное') | Истина |