IF
IF Expression [ {
AND IF |
OR IF }
Expression ... ] [
THEN ]
...
[
ELSE IF Expression [ {
AND IF |
OR IF }
Expression ... ] [
THEN ]
... ]
[
ELSE
... ]
ENDIF
IF Expression [ {
AND IF |
OR IF }
Expression ... ]
THEN ...
Since 3.4
IF Expression [ {
AND IF |
OR IF }
Expression ... ]
THEN ...
ELSE ...
Conditional control structure.
One-line syntax
You can write an IF ...
THEN control structure on one line, provided that the true part of the conditional is written just after the
THEN keyword.
In that case, the
THEN keyword is mandatory.
Since Gambas 3.4, the
IF
...
THEN
...
ELSE
... syntax written on the same line has been implemented.
Short-circuit path
When you use several test expressions splitted by
AND IF
keywords, then they are evaluated from left to right until the first
FALSE one is found, and then the test is
FALSE. If all expressions are
TRUE, then the test is
TRUE.
When you use several test expressions splitted by
OR IF
keywords, then they are evaluated from left to right until the first
TRUE one is found, and then the test is
TRUE. If all expressions are
FALSE, then the test is
FALSE.
All that is different from using
AND
or
OR
that always evaluate its arguments.
You cannot mix AND IF
and OR IF
keywords on the same line.
Examples
DIM k AS Integer
FOR k = 1 TO 10
IF k < 5 OR IF k > 5 THEN
PRINT k;;
ELSE
PRINT
PRINT "5 has been reached!"
END IF
NEXT
PRINT
1 2 3 4
5 has been reached!
6 7 8 9 10
If Pi > 0 Or If (1 / 0) > 0 Then Print "Hello"
If (Pi > 0) Or ((1 / 0) > 0) Then Print "World!"
Catch
Print Error.Text
See also