我正在使用SWI-Prolog的命令行解释器swipl.我在包含文件的目录中运行它test.pro
,并尝试调用
[test.pro].
这导致swipl喷出
ERROR: Syntax error: Operator expected
ERROR: [test
ERROR: ** here **
ERROR: .pro] .
但是,如果我删除扩展名,它可以正常工作.有没有办法将文件名传递给swipl加载哪些扩展名不会导致此错误?事实上,我想知道是什么导致了这个错误,因为SWI-Prolog的网站不是很有帮助.
要完成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)