Separador

GEL is somewhat different from other languages in how it deals with multiple commands and functions. In GEL you must chain commands together with a separator operator. That is, if you want to type more than one expression you have to use the ; operator in between the expressions. This is a way in which both expressions are evaluated and the result of the second one (or the last one if there is more than two expressions) is returned. Suppose you type the following:

3 ; 5

This expression will yield 5.

Esto requiere poner algunos paréntesis para evitar ambigüedades, especialmente si el carácter ; no es la primitiva más prioritaria. Esto difiere ligeramente de otros lenguajes de programación donde el carácter ; es un finalizador de sentencias. En GEL es un operador binario. Si está familiarizado con Pascal esto debería ser natural para usted. Sin embargo, Genius le permite simular que es un terminador si el carácter ; se encuentra detrás de un paréntesis o un bloque, Genius añadirá automáticamente un nodo nulo como si hubiese escrito ;null. Esto es útil en caso de que no quiera devolver ningún valor o si gestiona el retorno de un modo diferente. Tenga en cuenta que es ralentiza ligeramente el código si se ejecuta demasiado frecuentemente ya que se toma como un operador más.

Si escribe expresiones en un programa no tiene que añadir un punto y coma. En este caso Genius muestra el resultado de la expresión cuando se ejecuta. Sin embargo, si define una función, el cuerpo de la función es una sola expresión.