Условия запуска задачи (Rule)
Перед выполнением действий можно задать проверку условия. Действия, определенные в разделе Action:, будут выполнены только при истинности этого условия. Проверка условия выполняется с помощью слова Rule:, которое указывается в начале задачи, до раздела Action:.
Rule: <любая последовательность слов Форта, возвращающая флаг>
Чтобы обратить условие, надо после него (в соответствии с правилами постфиксной записи) написать 0= (равняется нулю, т. е. FALSE) или NOT:
Rule: <любая последовательность слов Форта, возвращающая флаг> 0=
Допускается использование нескольких конструкций Rule: в одной задаче. В этом случае Rule: объединяются с помощью логического "ИЛИ" - действие выполнится, если хотя бы одно (или несколько) из указанных условий вернут TRUE.
#( test_rule \ действие выполнится если любая из первых двух проверок \ вернет 'TRUE' или "проверка3" вернет - 'FALSE'
Rule: <проверка1>
Rule: <проверка2>
Rule: <проверка3> 0= Action: \ ... выполняем работу )#
Гораздо удобнее объединять несколько условий в рамках одной конструкции Rule:. В качестве логических операций при этом используются слова AND и OR (логические "И" и "ИЛИ"). Синтаксис комбинированных условий следует правилам постфиксной записи, принятой в языке Форт (<условие 1> <условие 2> <логическая операция>):
\ Возвращает TRUE, если оба условия верны Rule: <проверка1> <проверка2> AND \ Возвращает TRUE, если хотя бы одно из уcловий верно Rule: <проверка1> <проверка2> OR
Часто возникает необходимость комбинировать в Rule: более сложные сочетания условий. Следующий пример поможет вам разобраться в том, как их принято записывать в языке Форт:
\ выражение '(a OR b) AND c' : a b OR c AND \ выражение 'a AND b AND c AND NOT d' : a b AND c AND d NOT AND \ выражение '(a AND b AND c) OR (d AND (e OR f))' : a b AND с AND d e f OR AND OR
Вот некоторые предопределенные условия, которые удобно использовать вместе со словом Rule: и в разделе Action: (остальные условия можно найти в главе "Ключевые слова nnCron"):