Buscar..


Nombrar

Al programar en Prolog, debemos elegir dos tipos de nombres:

  • nombres de predicados
  • Nombres de variables .

Un buen nombre de predicado deja claro lo que significa cada argumento. Por convención, los guiones bajos se usan en los nombres para separar la descripción de diferentes argumentos. Esto es porque underscores_keep_even_longer_names_readable , mientras que mixingTheCasesDoesNotDoThisToTheSameExtent .

Ejemplos de buenos nombres de predicados son:

  • parent_child/2
  • person_likes/2
  • route_to/2

Tenga en cuenta que se utilizan nombres descriptivos . Se evitan los imperativos. El uso de nombres descriptivos es aconsejable porque los predicados de Prolog se pueden usar típicamente en múltiples direcciones, y el nombre debe ser aplicable también a todos o ninguno de los argumentos está instanciado.

La capitalización mixta es más común cuando se seleccionan nombres de variables . Por ejemplo: BestSolutions , MinElement , GreatestDivisor . Una convención común para nombrar variables que denotan estados sucesivos es usar S0 , S1 , S2 , ..., S , donde S representa el estado final.

Sangría

Hay solo unas pocas construcciones de lenguaje en Prolog, y varias formas de sangrarlas son comunes.

Independientemente del estilo que se elija, un principio que siempre se debe respetar es nunca colocar (;)/2 al final de una línea. Esto se debe ; y , ven muy similares, y , frecuentemente ocurre al final de una línea. Por lo tanto, las cláusulas que utilizan una disyunción deben escribirse, por ejemplo, como:

(  Goal1
;  Goal2 
)

Orden de los argumentos

Idealmente, los predicados Prolog pueden usarse en todas las direcciones. Para muchos predicados puros, este es también el caso. Sin embargo, algunos predicados solo funcionan en modos particulares, lo que significa patrones de ejemplificación de sus argumentos.

Por convención, el orden de argumentos más común para tales predicados es:

  • los argumentos de entrada se colocan primero. Estos argumentos deben ser instanciados antes de que se llame el predicado.
  • los pares de argumentos que pertenecen juntos se colocan adyacentes, como p(..., State0, State, ...)
  • los argumentos de salida previstos se colocan en último lugar Estos predicados son instanciados por el predicado.


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow