Подтвердить что ты не робот

Загрузка файлов в Prolog

Я читаю учебник Prolog. Он говорит мне, что я могу загрузить другие прологовые файлы, набрав:

[filename].

но каждый раз, когда я пытаюсь это сделать, я получаю

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

Файл находится в том же каталоге, в котором работает тот.

Вот копия всего запроса и ошибки:

12 ?- [KB5].

ERROR: load_files/2: Arguments are not sufficiently instantiated

Что я делаю неправильно?

4b9b3361

Ответ 1

$ 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.

Кажется, все отлично работает для меня. Конечно, я использую атом для имени файла, а не переменной. (KB5 - это имя переменной, а не атом.) Сначала попробуйте ['KB5'] и посмотрите, поможет ли это. Затем попробуйте [kb5] и посмотрите, поможет ли это. Наконец, попробуйте абсолютный минимальный пример, такой как тот, который я предоставил, и посмотрим, можете ли вы загрузить этот путь.


Отредактировано для добавления:

$ 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.

Похоже, проблема с атомом. Используйте ['KB5'], и ваша ошибка, вероятно, исчезнет.

Ответ 2

Хотя предоставлен другой метод. Вот альтернатива:

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

Это должно сделать трюк!

Ответ 3

Не сказал, какую платформу вы используете. Я бегу по малине Pi, и файлы пролога загружаются нормально, если они помещены в каталог Pi. Я не мог загрузить их в каталог Pi/Documents. Поэтому я экспериментировал и создавал папку "пролог" в каталоге Pi и размещал там файл load.pl и теперь прорабатываю работу.

consult(prolog/load).