Les opérateurs de comparaison standard suivants sont pris en charge dans GEL et ont des significations évidentes : ==
, >=
, <=
, !=
, <>
, <
, >
. Ils renvoient true
ou false
. Les opérateurs !=
et <>
sont les mêmes et signifient « n'est pas égal à ». GEL comprend également l'opérateur <=>
qui renvoie -1 si la partie de gauche est plus petite, 0 si les deux parties sont égales, 1 si la partie de gauche est plus grande.
Normalement =
est traduit en ==
partout où GEL s'attend à une condition comme celle de la condition si (if). Par exemple,
if a=b then c if a==b then c
sont identiques en GEL. Cependant vous devriez vraiment utiliser ==
ou :=
lorsque vous voulez respectivement comparer ou attribuer si vous voulez éviter des erreurs et que votre code soit facile à lire.
All the comparison operators (except for the
<=>
operator, which
behaves normally), are not strictly binary operators, they can in fact
be grouped in the normal mathematical way, e.g.:
(1<x<=y<5
) is
a legal boolean expression and means just what it should, that is
(1<x and x≤y and y<5)
Pour construire des expressions logiques, utilisez les mots not
, and
, or
, xor
. Les opérateurs or
et and
sont des entités spéciales car ils évaluent leurs arguments les uns après les autres, donc les astuces classiques des évaluations conditionnelles fonctionnent. Par exemple : 1 or a=1
n'effectue pas l'attribution a=1
puisque le premier argument est vrai (true).