Οι παρακάτω τυπικοί τελεστές σύγκρισης υποστηρίζονται στο GEL και έχουν την προφανή σημασία: ==
, >=
, <=
, !=
, <>
, <
, >
. Επιστρέφουν αληθές
ή ψευδές
. Οι τελεστές !=
και <>
είναι το ίδιο πράγμα και σημαίνουν "δεν είναι ίσο με". Η GEL επίσης υποστηρίζει τον τελεστή <=>
, που επιστρέφει -1 αν το αριστερό μέλος είναι μικρότερο, 0 αν και τα δύο μέλη είναι ίσα, 1 αν το αριστερό μέλος είναι μεγαλύτερο.
Normally =
is translated to ==
if
it happens to be somewhere where GEL is expecting a condition such as
in the if condition. For example
if a=b then c
if a==b then c
are the same thing in GEL. However you should really use
==
or :=
when you want to compare
or assign respectively if you want your code to be easy to read and
to avoid mistakes.
Όλοι οι τελεστές σύγκρισης (εκτός από τον τελεστή <=>
που συμπεριφέρεται κανονικά), δεν είναι αυστηρά δυαδικοί τελεστές, μπορούν στην πραγματικότητα να ομαδοποιηθούν με τον κανονικό μαθηματικό τρόπο, π.χ.: (1<x<=y<5
) είναι μια επιτρεπτή παράσταση λογικών τιμών και σημαίνει ακριβώς αυτό που πρέπει, δηλαδή (1<x and x≤y and y<5)
Για να δημιουργήσετε λογικές παραστάσεις χρησιμοποιήστε τις λέξεις not
, and
, or
, xor
. Οι τελεστές or
και and
είναι ειδικές οντότητες επειδή υπολογίζουν τα ορίσματά τους ένα προς ένα, έτσι το συνηθισμένο κόλπο για υπό όρο υπολογισμό δουλεύει εδώ επίσης. Για παράδειγμα, 1 or a=1
δεν θα ορίσουν a=1
αφού το πρώτο όρισμα ήταν αληθές.