Где находится сток SWI-Prolog? - PullRequest
0 голосов
/ 09 июля 2020

У меня есть файл пролога test.pl на DESKTOP. И я попытался использовать SWI-Prolog для его загрузки. Я ввожу

consult([test]).

И ошибка:

?- consult([test]).
ERROR: source_sink `test' does not exist
true.

Итак, в какой путь мне поместить файл test.pl? Или как мне его загрузить с помощью SWI-Prolog?

1 Ответ

1 голос
/ 10 июля 2020

Вам необходимо убедиться, что текущий рабочий каталог SWI-Prolog является тем, который вы ожидаете, или вам нужно указать имя файла, включая путь.

Для запроса текущего каталога:

?- working_directory(Current, Current).
Current = '/home/isabelle/'.

Вы можете передать имя нового каталога в качестве второго аргумента:

?- working_directory(Old, '/home/isabelle/Desktop').
Old = '/home/isabelle/'.

После вышеизложенного, проверка текущего текущего каталога:

?- working_directory(Current, Current).
Current = '/home/isabelle/Desktop/'.

Если у меня есть файл /home/isabelle/Desktop/test.pl, теперь я могу обращаться к нему как ?- [test]. или ?- consult(test). или ?- consult([test]).

В качестве альтернативы, без изменения каталогов, я могу использовать абсолютное имя файла:

?- consult('/home/isabelle/Desktop/test.pl').
true.
...