función directa


Una función directa ( dfn , pronunciada "dee fun") es una forma alternativa de definir una función y un operador (una función de orden superior ) en el lenguaje de programación APL . Un operador directo también se puede llamar dop (pronunciado "dee op"). Fueron inventados por John Scholes en 1996. [1] Son una combinación única de programación de matriz , función de orden superior y programación funcional , y son un avance importante que distingue a la APL de principios del siglo XXI con respecto a las versiones anteriores.

Un dfn es una secuencia de expresiones posiblemente protegidas (o simplemente una protección) entre {y }, separadas por o líneas nuevas, donde denota el argumento izquierdo y el derecho, y denota recursividad (función de autorreferencia). Por ejemplo, la función PTcomprueba si cada fila de es un triplete pitagórico (probando si la suma de los cuadrados es igual al doble del cuadrado del máximo).

Un dfn es una secuencia de expresiones posiblemente protegidas (o simplemente una protección) entre {y }, separadas por o saltos de línea.

Las expresiones y/o guardas se evalúan en secuencia. Un guardia debe evaluar a 0 o 1; su expresión asociada se evalúa si el valor es 1. Un dfn termina después de la primera expresión no protegida que no termina en asignación , o después de la primera expresión protegida cuya protección se evalúa como 1, o si no hay más expresiones. El resultado de un dfn es el de la última expresión evaluada. Si la última expresión evaluada termina en asignación, el resultado es "tímido", no se muestra automáticamente en la sesión.

denota el argumento de la función izquierda y la derecha; ⍺⍺denota el operando izquierdo y ⍵⍵el derecho. Si ⍵⍵ocurre en la definición, entonces el dfn es un operador diádico ; si solo ⍺⍺ocurre pero no ⍵⍵, entonces es un operador monádico; si ni ⍺⍺o ⍵⍵ocurre, entonces el dfn es una función.

La sintaxis especial se usa para dar un valor predeterminado al argumento de la izquierda si se llama a un dfn de forma monádica, es decir, se llama sin argumento a la izquierda. El no se evalúa de otra manera.expressionexpression