Syntaxe
Combine des conditions : AND est vrai quand les deux côtés le sont, OR quand au moins un l'est, et NOT inverse une condition. Ils sont logiques, pas bit à bit.
<a> AND <b>
<a> OR <b>
NOT <a>S’écrit aussi : AND, OR, NOT
Les éléments
| <a> | N'importe quelle valeur ou condition. 0, une chaîne vide, FALSE et NULL comptent comme faux ; tout le reste compte comme vrai. |
|---|---|
| <b> | N'importe quelle valeur ou condition. Elle n'est évaluée que si c'est utile : sautée dans a AND b quand a est faux, et dans a OR b quand a est vrai. |
À savoir
- Sur de simples nombres,
ANDetORrenvoient l'un de leurs opérandes, pas 1 ou 0 :5 AND 3vaut 3,0 OR 7vaut 7. Les BASIC classiques calculent ici bit à bit. Pour les bits, utilisez&&,||et!. - Une comparaison complète rangée dans une variable vaut 1 ou 0 :
r = x > 0 AND y = 0range 1. Maisn = NOT yrangeTRUEouFALSE, qui s'affichenttrueetfalse. Testez-la avecIF n THEN, pasIF n = 1. - Ordre :
NOTpasse avant les comparaisons, qui passent avantAND, qui passe avantOR. AinsiNOT a = bsignifie(NOT a) = b: écriveza <> b. XORn'est ni logique ni bit à bit :5 XOR 3se compile, mais le programme ne démarre pas. Écrivez~~pour le ou exclusif bit à bit.- Les mots ignorent la casse :
and,Oretnotfonctionnent.
Exemple
x = 5y = 0IF x > 0 AND y = 0 THEN Console("both") ' bothIF x < 0 OR y = 0 THEN Console("one of them") ' one of themIF NOT y THEN Console("y is zero") ' y is zerov = 5 AND 3Console(Str(v)) ' 3Dans le manuel : Constantes et opérateurs