write usar tutorial swi salida online mensaje manejo imprimir entrada datos como archivos prolog

usar - Cargando archivos en Prolog



swi prolog tutorial (3)

Aunque el otro método provisto funciona. Aquí hay una alternativa:

?- consult(''C:/User/Folder/myRules.pl'').

¡Eso debería hacer el truco!

Estoy pasando por un tutorial de Prolog. Me dice que puedo cargar otros archivos de prólogo escribiendo:

[filename].

Pero cada vez que intento esto me estoy poniendo

ERROR: load_files/2: Arguments are not sufficiently instantiated.

El archivo está en el mismo directorio en el que estoy trabajando.

Aquí hay una copia de toda la consulta y el error:

12 ?- [KB5]. ERROR: load_files/2: Arguments are not sufficiently instantiated

¿Qué estoy haciendo mal?


No dijo qué plataforma está utilizando. Estoy ejecutando en Raspberry Pi y los archivos de prólogo se cargan bien si se colocan en el directorio Pi. No pude conseguir que se carguen en el directorio Pi / Documents. Así que experimenté y creé una carpeta de "prólogo" en el directorio Pi y coloqué mi archivo load.pl allí y ahora consulto a las obras.

consult(prolog/load).


$ cat junk.pl test(ok). $ prolog Welcome to SWI-Prolog (Multi-threaded, 64 bits, Version 5.8.0) Copyright (c) 1990-2009 University of Amsterdam. SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. Please visit http://www.swi-prolog.org for details. For help, use ?- help(Topic). or ?- apropos(Word). ?- [junk]. % junk compiled 0.00 sec, 24 bytes true.

Parece funcionarme bien. Por supuesto, estoy usando un átomo para mi nombre de archivo, no una variable. (KB5 es un nombre de variable, no un átomo). Primero intente [''KB5''] y vea si eso ayuda. A continuación, intente [kb5] y vea si eso ayuda. Finalmente, pruebe un ejemplo mínimo absoluto como el que le proporcioné y vea si puede cargar de esa manera.

Editado para añadir:

$ cp junk.pl JUNK.pl $ prolog Welcome to SWI-Prolog (Multi-threaded, 64 bits, Version 5.8.0) Copyright (c) 1990-2009 University of Amsterdam. SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. Please visit http://www.swi-prolog.org for details. For help, use ?- help(Topic). or ?- apropos(Word). ?- [JUNK]. ERROR: load_files/2: Arguments are not sufficiently instantiated ?- [''JUNK'']. % JUNK compiled 0.00 sec, 1,656 bytes true.

Parece que el problema del átomo de hecho. Use [''KB5''] y su error probablemente desaparecerá.