2011-03-07 18 views
11

Soy nuevo en Prolog. Simplemente estoy tratando de obtener algún resultado de Prolog en Windows Vista.Primer uso de SWI-Prolog

He descargado e instalado Prolog 5.1; Elegí la extensión de archivo .pro cuando instalé (no confundir con archivos Perl).

Creé un archivo llamado test.pro. Dentro de este archivo pongo el siguiente:

inside(tom). 
?-inside(tom). 

que hacer doble clic en el archivo y una interfaz de línea de comandos aparecido. En esta interfaz (después de un montón de información genérica versión/copyright Prolog) la única salida es:

1 ?- 

bien, para empezar, yo no esperaba que a piden una pregunta; Lo esperaba respuesta una pregunta (algo en la línea de 'sí').

De todos modos, he tratado de responder a la consulta con el texto siguiente: 'en el interior (tom)'

En la línea de comandos que se reinserta, por lo que toda la línea se parece a:

1 ?- inside(tom). 

Presioné Introduzca y tiene un mensaje de error:

ERROR: toplevel: Undefined procedure: inside/1 (DWIM could not correct goal) 

Respuesta

6

Se necesita compilar este primer (también llamado "consultar" en el prólogo). Si supiera qué versión de prólogo tienes, podría encontrar la entrada de la clave exacta para este comando (Ctrl-L puede funcionar). Por cierto, bienvenidos al maravilloso mundo de los prólogos. Me encanta :) Tan pronto como superas este obstáculo, se pone mucho mejor. :)

+0

supongo esto es SWI-Prolog (usted puede ser sorprendido por la cantidad de diferentes 'prólogos' hay). En cuyo caso, "Consultar ..." está en el menú principal del archivo, le pide que cargue un archivo, así que simplemente vuelva a cargar este archivo y debe estar todo listo. De hecho, tiene que hacer una consulta antes de que haga cualquier cosa, así es como funciona cualquier programa de prólogo. –

+0

Sí, SWI-Prolog. Lo encontré y creo que compilé el archivo.Al principio, cuando elegí la opción 'consultar' del menú de archivo, no vi mi archivo llamado test.pro. Tuve que elegir ver "Todos los archivos" (es extraño, tal vez Prolog no reconozca los archivos .pro) para que el archivo sea aparente; Lo elegí y pareció cumplirlo. Me dieron el mensaje: "dir .../test.pro compilado 0,00 segundos, 1,696 bytes", pero no vi un archivo compilado en el mismo directorio y actualmente estoy buscando a través de la nueva estructura de directorios que se instaló con el Prolog instalación. –

+0

He reinstalado SWI-Prolog, pero dejé el valor predeterminado para la extensión de archivo a .pl. Ese parece ser el problema ... además de compilar a través del menú 'archivo/consultar' como sugirió. Gracias por tu ayuda. –

19

Prolog no responde a las preguntas si no lo ha contado hechos. (A excepción de algunos hechos incorporadas tales como member(1, [1,2,3]).)

Se puede decir que quien está dentro de (comentario a seguir un %):

1 ?- [user].       % get facts and rules from user input 
|: inside(mary).      % Mary and John are explicitly inside 
|: inside(john). 
|: inside(X) :- location(X, house). % rule: anyone in the house is inside 
|: inside(X) :- location(X, office). % (variables start with a capital letter) 
|: 
|: location(tom, house). 
|: location(bernard, house). 
|: location(anne, office). 
|:         % type Ctrl+D 
% user://1 compiled 0.00 sec, 1,220 bytes 
true. 

2 ?- inside(tom).      % Prolog deduces that Tom is inside 
true . 

Si quieres aprender Prolog, Learn Prolog Now es un buen , tutorial gratuito.

+1

Muchas gracias. Me gusta el tutorial también. –

0

Rápido y sucio. Lo que faltaba era 'compilar' el archivo, conocido como consultar y la sintaxis es la siguiente, todos los caracteres en la línea son relevantes.

? - [nombre del archivo].

a continuación, puede hacer preguntas y hacer otras cosas con lo que la base de datos. (El código fuente en el prólogo)

http://www.swi-prolog.org/pldoc/man?section=quickstart

Cuestiones relacionadas