Логические выражения |
![]() ![]() ![]() |
Логические выражения – это операции сравнения и вызова макросов, объединенные логическими операторами && («логическое И», «AND»), || («логическое ИЛИ», «OR»), ! («логическое отрицание», «NOT»). Для группировки операций и изменения их приоритета могут использоваться скобки.
Синтаксис логических выражений BOOL_EXPR:
Где macro_name() – вызов макроса с именем macro_name, а COMPARE – одна из перечисленных ниже операций сравнения. Используемый макрос должен быть определен заранее в секции Определения. Используемые обозначения при определении операций сравнения COMPARE:
Поддерживаемые операции сравнения для переменных типа string:
Операции == и ~ для строк регистронезависимы. Поддерживаемые операции сравнения для переменных типа cidr:
Если для операции <<= оба аргумента имеют значение undefined, то результатом операции считается true. Если же только один из аргументов имеет значение undefined, то результат этой операции – false. Поддерживаемые операции сравнения для переменных типа time:
Каждая операция сравнения имеет определенный приоритет относительно других операций. В порядке убывания приоритета операции сравнения распределяются следующим образом: 1.! («логическое НЕ», «NOT») 2.< («меньше»), <= («меньше или равно»), > («больше»), >= («больше или равно») 3.== («совпадает»), != («не совпадает»), ~ («соответствует»), <<= («входит в группу») 4.&& («логическое И», «AND») 5.|| («логическое ИЛИ», «OR») Операции, перечисленные в одной строке, имеют одинаковый приоритет и вычисляются слева направо. Для некоторых операций возможно чтение массива значений из файла (с указанием префикса file:). Строки, начинающиеся с символов «#» или «;», а также пустые строки пропускаются при чтении значений.
|