prolog - SWI-Prolog的源接收器在哪里?

标签 prolog swi-prolog

我的桌面上有一个 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/

相关文章:

prolog - 图中的循环检测

prolog - SWI-Prolog Guitracer X-服务器

Prolog - 重新加载咨询 ('filename' ) 到解释器

尝试 3000 多次后 mysql 连接失败

prolog - 在 swi-prolog 中跨模块使用运算符

prolog - 使用swi-prolog将prolog代码+C代码编译成二进制

prolog - 前缀列表在 prolog 中如何工作

printing - Prolog 打印值作为结果而不是 true

prolog - SWI Prolog 水壶拼图

prolog - SWI Prolog 与 GNU Prolog - SWI 下的 CLP(FD) 问题