问题描述
(原为:参数未充分实例化)。
我正在使用SWI-Prolog版本8.2.1学习Prolog,并阅读立即学习Prolog!书。
我的知识库5(也可以在线Learn Prolog Now!使用)有问题:
loves(vincent,mia).
loves(marcellus,mia).
loves(pumpkin,honey_bunny).
loves(honey_bunny,pumpkin).
jealous(X,Y) :- loves(X,Z),loves(Y,Z).
当我咨询它时,SWI-Prolog引发错误:
错误:参数没有被充分实例化
似乎很奇怪,因为这本书被许多人推荐为一本不错的Prolog书,
并且我还在SO Different query results in prolog上找到了一个关于相同代码的问题
没有提到任何错误。
这是SWI-Prolog的问题吗?
还是代码错误?
预先感谢。
更新
好吧,事实证明这根本与代码无关。
我复制了本书pdf版本中的代码,并将其粘贴到
SWI-Prolog编辑器并保存。
使用记事本++打开文件,在“编码”菜单下,它显示“ UCS2 LE BOM”,而对于文本文件则应为“ UTF-8”。
我将编码更改为UTF-8,SWI-Prolog对其进行了编译。
结案了。
但是,让编程编辑器愉快地接受无效的文件很重要
甚至没有警告。
我以为我可以删除这个问题,但这也许可以帮助其他人 处理相同的问题。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)