Documentación de Celestia

 
  4. CELX SCRIPTS  
  4.6. Funciones  
 

En CELX se permite la definición y utilización de funciones, que en programación se pueden definir como un conjunto de sentencias que realiza una tarea determinada formando parte de un programa mayor. A cada una de estas funciones se le asigna un nombre, un cuerpo con las sentencias que la componen y, opcionalmente, un conjunto de parámetros que se le pasan a la función y condicionan el resultado de la misma. La función devolverá el resultado de su ejecución al programa principal.

La utilización de la función en cualquier lenguaje de programación recibe el nombre de llamada a la función. En el caso de LUA sólo es necesario escribir el nombre de la función previamente definida seguido de los parámetros que se le pasen a la función entre paréntesis y separados por comas (en caso de que la función incluya parámetros en su definición).

Por ejemplo, si la función suma toma como parámetrosdos números y devuelve la suma de ambos, el siguiente código asignaría a la variable n el valor 5:

n = suma(3,2)

Para la definición de las funciones en LUA se emplea la siguiente sintaxis:

funcion ::= function nombre `(´ [parlist] `)´ block end

Donde function y end son palabras reservadas del lenguaje entre las que se engloba la definición de la función, nombre es aquel que se usa para llamar a la función, parlist es la lista de parámetros (opcional) y block es el cuerpo de la función con las sentencias que la componen. Dentro del cuerpo de la función se incluirá una sentencia con la palabra reservada return que indicará el valor devuelto por la función y devolverá la ejecución al programa principal que la llama.

Por ejemplo, la definición de la función suma usada antes sería similar a lo siguiente:

function suma(a,b)

resultado = a + b

return resultado

end

Existen además un gran número de funciones predefinidas que se pueden utilizar en cualquier script CELX sin necesidad de definición previa. Por ejemplo la función wait permite parar la ejecución del script el número de segundos que se le pasa como parámetro. Estas funciones forman parte de librerías que se cargan automáticamente al iniciarse cualquier programa, como la librería math que proporciona un gran número de funciones matemáticas para usar en cualquier momento (seno, coseno, logaritmo,…).

 
 
Índice general