Οι παρακάτω τυπικοί τελεστές σύγκρισης υποστηρίζονται στο GEL και έχουν την προφανή σημασία: ==
, >=
, <=
, !=
, <>
, <
, >
. Επιστρέφουν αληθές
ή ψευδές
. Οι τελεστές !=
και <>
είναι το ίδιο πράγμα και σημαίνουν "δεν είναι ίσο με". Η GEL επίσης υποστηρίζει τον τελεστή <=>
, που επιστρέφει -1 αν το αριστερό μέλος είναι μικρότερο, 0 αν και τα δύο μέλη είναι ίσα, 1 αν το αριστερό μέλος είναι μεγαλύτερο.
Κανονικά =
μεταφράζεται σε ==
αν συμβεί να είναι κάπου όπου το GEL αναμένει μια συνθήκη όπως στη συνθήκη if. Για παράδειγμα
if a=b then c if a==b then c
είναι το ίδιο πράγμα στη GEL. Όμως, θα πρέπει να χρησιμοποιήσετε πραγματικά το ==
ή :=
όταν θέλετε να συγκρίνετε ή να αναθέσετε αντίστοιχα, αν θέλετε ο κώδικας σας να είναι ευανάγνωστος και να αποφύγετε λάθη.
Όλοι οι τελεστές σύγκρισης (εκτός από τον τελεστή <=>
που συμπεριφέρεται κανονικά), δεν είναι αυστηρά δυαδικοί τελεστές, μπορούν στην πραγματικότητα να ομαδοποιηθούν με τον κανονικό μαθηματικό τρόπο, π.χ.: (1<x<=y<5
) είναι μια επιτρεπτή παράσταση λογικών τιμών και σημαίνει ακριβώς αυτό που πρέπει, δηλαδή (1<x and x≤y and y<5)
Για να δημιουργήσετε λογικές παραστάσεις χρησιμοποιήστε τις λέξεις not
, and
, or
, xor
. Οι τελεστές or
και and
είναι ειδικές οντότητες επειδή υπολογίζουν τα ορίσματά τους ένα προς ένα, έτσι το συνηθισμένο κόλπο για υπό όρο υπολογισμό δουλεύει εδώ επίσης. Για παράδειγμα, 1 or a=1
δεν θα ορίσουν a=1
αφού το πρώτο όρισμα ήταν αληθές.