1. Establezca la diferencia entre las funciones externas y las funciones
definidas a partir del constructor deffunction.
Las funciones definidas a través del constructor deffunction trabajan de forma
interpretada y las funciones externas definidas por el usuario son ejecutables
directamente por CLIPS.
2. Indique los componentes de una función definida mediante el constructor
deffunction.
Una función definida a partir del constructor deffunction posee los siguientes
componentes:
1. Un nombre.
2. Un comentario que es opcional
3. Una lista de cero o más parámetros regulares
4. Un parámetro comodín opcional que gestiona un número variable de argumentos.
5. Una secuencia de acciones, o expresiones, que se ejecutarán de forma
secuencial cuando se llame a la función definida mediante este constructor
3. ¿Cómo y cuándo deben de declararse las funciones definidas mediante el
constructor deffunction?
Antes de ser llamada desde otra función deffunction, método de una función
genérica, gestor de mensajes de un objeto, regla o desde niveles más altos. La
única excepción es mediante una llamada recursiva de la función en sí misma.
4. ¿Qué se entiende por parámetros regulares de una deffunction?
Los parámetros regulares especifican el mínimo número de argumentos que se deben
pasar a la función. Cada uno de estos parámetros pueden ser referenciados como
una variable de campo simple dentro de las acciones de la función.
5. ¿Qué tratamiento tiene el parámetro comodín en los argumentos de una
deffunction?
Si está presente el parámetro comodín, la deffunction puede pasar cualquier
número de argumentos mayor o igual que el mínimo. En caso de que no esté te debe
pasar el número de argumentos especificado por los parámetros regulares.
6. ¿Es posible definir funciones recursivas con el constructor deffunction?
Sí, las deffunction pueden llamarse a sí mismas y ser recursivas. La
recursividad se lleva a cabo simplemente llamando a la deffunction desde dentro
de sus propias acciones.