Jämförelseoperatorer
Prev | Chapter 6. Programmering med GEL | Next

## 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.

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.

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).

Prev | Up | Next
Summor och produkter | Home | Globala variabler och räckvidd för variabler