IF...THEN...ELSE
Synopsis
IF condition THEN statements IF condition ELSE elsestatements IF condition THEN statements ELSE elsestatements IF condition [THEN statements END] [ELSE elsestatements END]
Arguments
condition | An expression that evaluates to True or False. For further details on boolean logical operators, refer to the Operators page of this manual. |
statements | One or more statements executed if condition is True. |
elsestatements | One or more statements executed if no previous condition expression is True. |
Description
The IF statement performs a boolean test on condition, and then executes either the THEN clause (condition=1 (true)) or the ELSE clause (condition=0 (false)).
You can omit or include either the THEN clause or the ELSE clause. If condition=1 and the THEN clause is omitted, or condition=0 and the ELSE clause is omitted, IF returns the empty string. Further IF statements can be nested within THEN or ELSE clauses.
IF can be coded as a single-line statement, or as a code block statement using the END keyword. You can use any of the single-line forms for short, simple tests. However, the block form provides more structure and flexibility than the single-line form and is usually easier to read, maintain, and debug.
When executing a block IF, condition is tested. If condition is True, the statements following THEN are executed. If condition is False, the statements following ELSE are executed. After executing the statements following THEN or ELSE, execution continues with the statement following END.
What follows the THEN keyword is examined to determine whether or not a statement is a block IF. If anything other than a comment appears after THEN on the same line, the statement is treated as a single-line IF statement.
For a block IF statement, the IF keyword must be the first statement on a line. The block IF must end with an END statement.
The condition expression can be a compound expression, using = (equal to), # (not equal to), and other the comparison operators. You can use literals, variables, and dynamic arrays as condition expression elements. Multiple test expressions can be associated by AND and OR logical operators.