Boolean Binary Operators
Jade provides standard operators that take
-
and
-
not (negation)
-
or (inclusive)
Applying relational operators to operands of other types can also produce Boolean values. The following table lists the action and resulting values of the and, or, and not operators.
p | q | p and q | p or q | not p |
---|---|---|---|---|
false | false | false | false | true |
false | true | false | true | true |
true | false | false | true | false |
true | true | true | true | false |
Boolean expressions involving the and or the or operators are conditionally evaluated; that is, in the expression a and b, b is not evaluated if a is false.
In the expression a or b, b is not evaluated if a is true. This may be important in some cases where a and b are methods with side effects.
and Operator
The syntax of the and operator is:
boolean-expression and boolean-expression
The code fragment in the following example shows the use of the and operator.
if newManager = null and newCompany.allEmployees.size > 0 then app.msgBox("A manager is required", "Error", MsgBox_OK_Only); return; endif;
not Operator
The syntax of the not operator is:
not boolean-expression
The code fragment in the following example shows the use of the not operator.
if not file.isOpen then app.msgBox("File is not open", "Error", MsgBox_OK_Only); return; endif;
or Operator
The syntax of the or operator is:
boolean-expression or boolean-expression
The code fragment in the following example shows the use of the or operator.
if newLevel < 1 or newLevel > 5 then app.msgBox("Invalid level", "Error", MsgBox_OK_Only); return; endif;