我正在使用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並諮詢但沒有工作。