Operadores de comparación
Anterior | Capítulo 6. Programar con GEL | Siguiente

## Operadores de comparación

Los siguientes operadores de comparación comunes están soportados en GEL, y tienen el significado obvio: `==`, `>=`, `<=`, `!=`, `<>`, `<`, `>`. Éstos devuelven los valores `true` o `false`. Los operadores `!=` y `<>` son lo mismo y significan «no es igual a». GEL también permite utilizar el operador `<=>`, que devuelve el valor -1 si el lado izquierdo es menor, 0 si ambos lados son iguales, y 1 si el lado izquierdo es mayor.

Generalmente `=` se traduce como `==` si aparece en algún lugar dónde GEL espera una condición, como la condición «if». Por ejemplo

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

son lo mismo en GEL. Sin embargo, debería utilizar `==` o `:=` cuando se quiere comparar o asignar, respectivamente, si quiere que su código sea fácil de leer. Además le ayuda a evitar errores.

No todos los operadores de comparación (salvo el operador `<=>`, que se comporta de manera normal), son operadores binarios en el sentido estricto del concepto. De hecho, se pueden agrupar en el modo matemático usual, por ejemplo: (`1<x<=y<5`) es una expresión booleana legítima que significa lo que debería, es decir (1<x and x≤y and y<5)

Para construir expresiones lógicas utilice las palabras `not`, `and`, `or`, `xor`. Los operadores `or` y `and` son especiales pues evalúan sus argumentos de uno en uno, por lo que la técnica usual para implementar la evaluación condicional también funciona aquí. Por ejemplo, `1 or a=1` no ejecuta el comando `a=1`, pues el primer argumento es verdadero.

Anterior | Subir | Siguiente
Sumas y productos | Inicio | Variables globales y ámbito de variables