Условия запуска задачи (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"):