我的桌面上有一个 prolog 文件 test.pl。我尝试使用 SWI-Prolog 来加载它。 我输入
consult([test]).
错误是:
?- consult([test]).
ERROR: source_sink `test' does not exist
true.
那么我应该把test.pl文件放在哪个路径呢?或者如何使用SWI-Prolog来加载它?
最佳答案
您需要确保 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('/home/isabelle/Desktop/test.pl').
true.
关于prolog - SWI-Prolog的源接收器在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62823606/