Las funciones
Las funciones son bloques de código que pueden ser llamados múltiples veces y desde múltiples lugares en el gráfico. Una función es una subrutina que, a diferencia de un procedimiento, devuelve un valor al final de su ejecución.
Una función se declara exactamente como un procedimiento.
- Proc Nombre(parámetros)
Por ejemplo:
- Proc Test(x)
"Proc" es la palabra clave que siempre identifica un procedimiento o función. La etiqueta "Test" es el nombre de la función. El parámetro "x" es el dato que se pasa al código de función. Los parámetros de una función se declaran como variables locales de la función.
En general, la estructura de una función es idéntica a la de un procedimiento, por lo que se debe consultar también el capítulo sobre Procedimientos. Para que un procedimiento se convierta en una función y devuelva un valor, es necesario valorar la variable "result" dentro de ella.
Por ejemplo:
- Proc Test(x)
- result = x*2
- EndProc
Una función, dado que devuelve un valor, puede utilizarse como expresión en asignaciones y operaciones. Por ejemplo:
- I = Test(30)
La variable "I" contiene el valor 60, ya que la función "Test" devuelve un valor y le asigna el dato "x*2", en este caso "30*2".
- I = Test(30)+7
En este caso la variable "I" contiene el valor 67 porque se realiza una operación de adición antes de la asignación.
Una función puede ser llamada como un procedimiento. En este caso el valor de retorno es ignorado.
- Test(4)
Una función puede utilizarse como parámetro de un procedimiento u otra función. Por ejemplo:
- I = Test(Test(2))
El valor asignado a "i" será 8. La función "Test" se ha utilizado como un parámetro de sí mismo.
Un procedimiento o una función puede recordarse a sí mismo en un ciclo recursivo, directo o indirecto. Los bucles recursivos son monitoreados para evitar bucles interminables. La recursión puede ser utilizada hasta 256 veces.