IF - IBM-REXX

IF

IF conditionally processes an instruction or group of instructions depending on theevaluation of the expression.The expression is evaluated and must result in 0 or 1.The instruction after the THEN is processed only if the result is 1 (true). If you specify an ELSE, the instruction after the ELSE is processed only if the result of the evaluation is 0 (false).

Example:

if answer=’YES’ then say ’OK!’
else say ’Why not?’

Remember that if the ELSE clause is on the same line as the last clause of the THEN part, you need a semicolon before the ELSE.

Example:

if answer=’YES’ then say ’OK!’; else say ’Why not?’

The ELSE binds to the nearest IF at the same level.You can use the NOP instruction toeliminate errors and possible confusion when IF constructs are nested, as in the following example.

Example:

If answer = ’YES’ Then
If name = ’FRED’ Then
say ’OK, Fred.’
Else
nop
Else
say ’Why not?’

Notes:

  1. The instruction can be any assignment, command, or keyword instruction, including any of the more complex constructs such as DO, SELECT, or the IF instruction itself. A null clause is not an instruction, so putting an extra semicolon (or label) after the THEN or ELSE is not equivalent to putting a dummy instruction (as it would be in PL/I). The NOP instruction is provided for this purpose.
  2. The symbol THEN cannot be used within expression, because the keyword THEN is treated differently, in that it need not start a clause.This allows the expression on the IF clause to be ended by the THEN, without a ; being required. If this were not so, people who are accustomed to other computer languages would experience considerable difficulties.

All rights reserved © 2020 Wisdom IT Services India Pvt. Ltd DMCA.com Protection Status

IBM-REXX Topics