A test expression is any expression that evaluates to either
false. Comparisons are all test expressions. Test expressions can only be used in conditions or saved in
switch items. They have no numeric or string representations.
The simplest forms of a test expression are:
OmniMark omits the evaluation of the second operation of an
| expression when the result of the first operand is sufficient to determine the result of the whole expression. This is very useful when the first part of the test is used to ensure that the second part of the test will not cause an error.
Conditional evaluation also lets you take advantage of your knowledge of the behavior of your own program in order to gain some efficiency. For instance, when combining two test expressions with an
& or an
|, if you know that one of the operands takes significantly longer than the other, place the shorter one first so that the second, more "expensive" operand will be examined as rarely as possible.
Another technique can be used when combining two test expressions with an
& and one of the expressions usually evaluates to
false. Place that operand first, so that the second expression need rarely be executed. The same technique can be used when using
| and one of the operands usually evaluates to true.