Opérandes non booléens sur opérateurs booléens
Bonjour à tous,
D'après le manuel de FreePascal, Boolean operators can only have boolean type operands, and the resulting type is always boolean.
Pourtant, le programme suivant est accepté par le compilateur:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| PROGRAM bool;
VAR
vrai, faux: BOOLEAN;
BEGIN
vrai := TRUE;
faux := FALSE;
WRITELN(vrai AND faux);
WRITELN((1 > 0) AND (1 = 0));
// jusque là, c'est logique
WRITELN(1 AND 0);
// ici, à la limite...
WRITELN(1 OR 2);
// ???
END. |
et donne
Code:
1 2 3 4 5
| F:\DOCS>bool
FALSE
FALSE
0
3 |
Tant que l'entier résultant est 1 ou 0, je peux comprendre,
mais est-ce que ça a du sens de renvoyer la somme des opérandes avec OR ?
Merci d'avance,
gvdmoort