我是 SWI-Prolog 的新手,正在尝试一些教程。但是,我尝试通过命令行加载的每个文件都会收到 2 条错误消息 - 一条在开头(预期为操作员),一条在结尾(意外结束文件)。文件保存在与我正在工作的目录相同的目录中。
例如,我将此文件保存为 kb2.pl
listensToMusic(mia).
happy(yolanda).
playsAirGuitar(mia) :- listensToMusic(mia).
playsAirGuitar(yolanda) :- listensToMusic(yolanda).
listensToMusic(yolanda):- happy(yolanda).
从打开 Prolog 开始(通过 /opt/local/bin/swipl),我的命令行如下所示:
% library(swi_hooks) 编译成 pce_swi_hooks 0.00 秒,3,928 字节
欢迎使用 SWI-Prolog(多线程,64 位,版本 5.10.2)
版权所有 (c) 1990-2010 University of Amsterdam, VU Amsterdam
SWI-Prolog 绝对附带没有保修。这是免费软件,
欢迎您在特定条件下重新分发它。
详情请访问http://www.swi-prolog.org。帮助,使用?-帮助(主题)。或 ?- apropos(Word)。
?- [kb2]。
错误:/Users/name/Desktop/kb2.pl:1:0:语法错误:操作员预期
错误:/Users/name/Desktop/kb2.pl:10:52:语法错误:文件意外结束
% kb2 编译 0.00秒,2,584 字节为
真。?-
当我询问已编译文件的列表时,我得到:
\快乐(约兰达)。
\playsAirGuitar(mia) :- 听音乐(mia)。
\playsAirGuitar(约兰达):- 听音乐(约兰达)。
真的。
所以它会删除文件的第一行和最后一行。
我在网上搜索了这些错误消息,发现了很多关于 Prolog 格式化的有用提示,但没有一个能解决这种情况。是否有某种特殊字符或格式应该用于 Prolog 文件的开头和结尾?