SWI-Prolog和文件扩展名:为什么swipl不能识别带扩展名的文件?

时间:2014-03-18 04:00:24

标签: prolog swi-prolog

我正在使用SWI-Prolog的命令行解释器swipl。我在包含文件test.pro的目录中运行它,并尝试调用

[test.pro].

这导致swipl喷出

ERROR: Syntax error: Operator expected ERROR: [test ERROR: ** here ** ERROR: .pro] .

但是,如果我删除扩展程序,它可以正常工作。有没有办法将文件名传递给swipl加载哪些扩展名不会导致此错误?事实上,我想知道导致此错误的,因为SWI-Prolog的网站不是很有帮助。

3 个答案:

答案 0 :(得分:5)

完成Magus'回答,请注意SWI-Prolog让你声明Prolog源文件的有效扩展:添加到你的〜/ .plrc(或windows对应的)声明

user:prolog_file_type(pro, prolog).

然后你将获得带

的文件
?- [test].

答案 1 :(得分:3)

[]的论点是一个原子。包含点的原子必须被'包围:

['test.pro'].

答案 2 :(得分:0)

SWI prolog的惯例是使用'.pl'扩展名,所以如果你使用它,那么事情会更顺畅,你不必担心你的点。

然后你可以咨询:

[test].

..它将假定.pl扩展名,并在您的文件夹中查找test.pl。