FUNCTION
Define una función propia: un valor calculado a partir de sus argumentos, geometría creada a partir de ellos, o ambas cosas.
Sintaxis
FUNCTION NAME(parameter,parameter,…) = expression
FUNCTION NAME(parameter,parameter,…) BEGIN … RETURN expression … END
| Argumento | Significado |
|---|---|
| NAME | El nombre de la función: un nombre, no una palabra del lenguaje (SIN, LINE …). Una con el nombre de una función integrada (TRIANGULATE …) se usa en su lugar. |
| parameter | Los nombres que tienen dentro de ella los argumentos con los que se llama (ninguno: FUNCTION NAME()). |
| expression | El valor de la función: una expresión de sus parámetros (y de las variables del dibujo). |
Ejemplos
FUNCTION HYPOT(A, B) = SQRT(A * A + B * B)
DIAGONAL = HYPOT(L, W)

DIAGONAL sigue a la caja cuando cambian L y W.
FUNCTION FACTORIAL(N) BEGIN
IF N <= 1 THEN BEGIN RETURN 1 END
RETURN N * FACTORIAL(N - 1)
END
PRINT FACTORIAL(6)
FUNCTION SLOT(C, LENGTH, R) BEGIN
P1 = C + [-LENGTH / 2, -R] ; P2 = C + [LENGTH / 2, -R]
P3 = C + [LENGTH / 2, R] ; P4 = C + [-LENGTH / 2, R]
P5 = C + [LENGTH / 2, 0] ; P6 = C + [-LENGTH / 2, 0]
LINE P1, P2
ARC P2, P5, P3, TRUE
LINE P3, P4
ARC P4, P6, P1, TRUE
END
FOR I = 1 TO 3 BEGIN
CALL SLOT([I * 120, 200], 60, 10)
END
Tres ranuras, creadas por CALL.
Notas
Una función se llama por su nombre, con sus argumentos entre paréntesis, en cualquier lugar donde vaya una expresión: HYPOT(3, 4). Su
valor es lo que devuelve con RETURN. Una función que crea geometría se dibuja con CALL.
Una función es como una pieza: tiene sus propias variables y puntos. Sus parámetros, y las
variables y puntos que asigna, son suyos: P1 en SLOT, arriba, no es el P1 del dibujo. Sus puntos empiezan con P0 en su
origen, [0,0]. Ve las variables del dibujo (L, W …) tal como están cuando se la llama, y las demás funciones.
Una función puede llamarse a sí misma, hasta 100 llamadas de profundidad. Una función se busca cuando se la llama, así que puede usarse antes de definirla. Definir de nuevo una función con el mismo nombre la sustituye.
Las funciones se guardan al principio del archivo del dibujo.
Una función también puede escribirse en JavaScript: consulte Funciones JavaScript.
Véase también: Bloques y control de flujo, CALL, Funciones JavaScript.