Definition of True and False
A predicate expression is an expression that is evaluated as being “true” or “false” as part of a statement that controls program execution. IDL evaluates predicate expressions in the following contexts:
- IF...THEN...ELSE statements
- ? : inline conditional expressions
- WHILE...DO statements
- REPEAT...UNTIL statements
The definition of true and false for the different data types is as follows:
Data Type |
True
|
False |
Byte, integer, and long |
Odd integers |
Zero or even integers |
Floating point and complex
|
Non-zero values |
Zero
|
String
|
Any string with non-zero length
|
Empty string ("") |
Heap variables (pointers and objects)
|
Non-null values |
Null values |
List and Hash |
List or Hash has at least one member
|
List or Hash is empty |
If the LOGICAL_PREDICATE compile option is set:
Data Type |
True
|
False |
Numerical values |
Non-zero values |
Zero
|
String or heap variables
|
Non-null values |
Null values |
See COMPILE_OPT for additional details on the LOGICAL_PREDICATE compilation option.
In the following example, the logical statement for the condition is a conjunction of two conditions:
IF (LON GT -40) AND (LON LE -20) THEN ...
If both conditions (LON being larger than –40 and less than or equal to –20) are true, the statement following the THEN is executed.