![]() ![]() ![]() ![]() ![]() ![]() ![]() |
|||||
|
|
|||||
| Match alternatives: side effects | |||||
| Prerequisite Concepts | Related Syntax | ||||
When trying to determine the impact of function side effects, it can be important to know how OmniMark evaluates the parts of each match alternative.
The rules that determine which parts of each match alternative are evaluated are as follows:
If a match alternative is selected and performed, then:
match alternative are always evaluated.
match alternative, the header condition or header pattern of any match alternative, that precedes the match alternative actually selected, may or may not be evaluated.
match alternative that follows the match alternative actually selected, is never evaluated.
If no match alternative is selected, then, in the process of determining that no match alternative applies, the header condition and header pattern of any match alternative may or may not be evaluated.
The header conditions and header patterns that are actually evaluated during the selection of a match alternative, or in determining that no match alternative is selected, are evaluated in the order in which the alternatives that contain them appear within the do scan action or repeat scan action.
|
Prerequisite Concepts Conditional constructs Looping constructs |
Related Syntax do scan repeat scan |
| ---- |