我正在使用SWI Prolog编写一本数学逻辑书籍,书中提供了Prolog中一些算法的源代码。问题是,当我尝试加载一个文件,解释只是提示是这样的:SWI Prolog ensure_loaded错误
load_files/2: No permission to load source `**' (Non-module file already loaded into module **; trying to load into io)
我看着源代码,发现大多数的文件开始:
:- module(**,[***]).
其次通过
user:file_search_path(common,'../common').
:- ensure_loaded(ops).
:- ensure_loaded(def).
,似乎有相同的文件调用ensure_loaded两次造成的错误,如果有的在已加载文件的谓词(例如ops.pl)不会定义在尝试第二次加载它的文件中。
我试着改变ensure_loaded到use_module并咨询但没有工作。