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

Koz*_*oss 3 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的网站不是很有帮助.

Cap*_*liC 5

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

user:prolog_file_type(pro, prolog).
Run Code Online (Sandbox Code Playgroud)

然后你将获得该文件

?- [test].
Run Code Online (Sandbox Code Playgroud)

  • 感谢您的提示,虽然它现在看起来配置的文件名是`.swiplrc`.对于那些感兴趣的人来说,gprolog**除了`.pl`之外似乎支持`.pro`,但不是`.prolog`. (2认同)