在Prolog中加载文件

在Prolog中加载文件,prolog,Prolog,我正在学习序言教程。它告诉我可以通过键入以下内容加载其他prolog文件: [filename]. 但每次我试着这样做,我都会 ERROR: load_files/2: Arguments are not sufficiently instantiated. 该文件与我正在使用的文件位于同一目录中 以下是整个查询和错误的副本: 12 ?- [KB5]. ERROR: load_files/2: Arguments are not sufficiently instantiated 我做错

我正在学习序言教程。它告诉我可以通过键入以下内容加载其他prolog文件:

[filename].
但每次我试着这样做,我都会

ERROR: load_files/2: Arguments are not sufficiently instantiated.
该文件与我正在使用的文件位于同一目录中

以下是整个查询和错误的副本:

12 ?- [KB5].

ERROR: load_files/2: Arguments are not sufficiently instantiated
我做错了什么

$ 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.
这对我来说似乎很管用。当然,我使用atom作为文件名,而不是变量。(KB5是一个变量名,不是atom。)首先尝试一下
['KB5']
,看看这是否有帮助。接下来试试
[kb5]
,看看这是否有帮助。最后,尝试一个绝对最小的示例,如我提供的示例,看看是否可以以这种方式加载


编辑以添加:


看起来确实是原子问题。使用
['KB5']
,您的错误可能会消失。

尽管提供的其他方法有效。这里有一个替代方案:

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

那就应该成功了

没有说你在使用什么平台。我在Raspberry Pi上运行,如果将prolog文件放在Pi目录中,则可以很好地加载它们。我无法将它们加载到Pi/Documents目录中。因此,我在Pi目录中尝试并创建了一个“prolog”文件夹,并将load.pl文件放在那里,现在查阅works

consult(prolog/load).
consult(prolog/load).