Jämförelseoperatorer
Föregående | Kapitel 6. Programmering med GEL | Nästa

## Jämförelseoperatorer

Följande standardoperatorer för jämförelse stöds i GEL och har de uppenbara betydelserna: `==`, `>=`, `<=`, `!=`, `<>`, `<`, `>`. De returnerar `true` eller `false`. Operatorerna `!=` och `<>` är samma sak och betyder ”är inte lika med”. GEL stöder även operatorn `<=>` som returnerar -1 om vänstersidan är mindre, 0 om båda sidor är lika, 1 om vänstersidan är större.

Normalt översätts `=` till `==` om det förekommer någonstans där GEL förväntar sig ett villkor som i if-villkoret. Till exempel är

    if a=b then c
    if a==b then c

samma sak i GEL. Du bör dock använda `==` eller `:=` då du vill jämföra respektive tilldela om du vill att din kod ska vara lätt att läsa och för att undvika misstag.

Alla jämförelseoperatorerna (förutom `<=>`-operatorn, vilken beter sig normalt) är inte strikt binära operatorer, de kan i själva verket grupperas på det vanliga matematiska sättet, t.ex. så är (`1<x<=y<5`) ett giltigt booleskt uttryck och betyder precis vad det borde, det vill säga (1<x och x≤y och y<5)

Använd orden `not`, `and`, `or`, `xor` för att bygga upp logiska uttryck. Operatorerna `or` och `and` är speciella eftersom de evaluerar sina uttryck ett efter ett, så det vanliga tricket för villkorlig evaluering fungerar även här. Till exempel kommer `1 or a=1` inte att ställa in `a=1` eftersom det första argumentet var true (sant).

Föregående | Upp | Nästa
Summor och produkter | Hem | Globala variabler och räckvidd för variabler