![]() |
Examples 7.2.2:
|
![]() |
The features of the pervasive class BOOL are used in individual examples below.
The following two code fragments are identical in meaning although the first will usually be more efficient (dependent upon the implementation).
if truth_value then ... else ... end
if truth_value then ... elsif truth_value.not then ... end
Note that truth_value.not is the identical infix expression to ~truth_value.
In practice it is not often necessary to use an equality test on two truth values. However, this is provided for completeness as -
if truth_value = true then ...
which is, of course, identical to
if truth_value then ...
Where it is necessary to satisfy two conditions simultaneously before taking some action then the following could be written -
case first_pred and second_pred when true then do_something when false then do_something_else end
which uses a case construction as an alternative to an if-statement.
The other canonical logical operator could be used in expressing the following version of De Moivre's theorem.
~(A and B) = ~A or ~B
where A and B are truth values.
![]() |
Specification Index | ![]() |
Language Index | ![]() |
Section 7 Index |
Comments
or enquiries should be made to Keith Hopper. Page last modified: Wednesday, 21 March 2001. |
![]() |