SWI Prolog有沒有辦法請求諮詢文件? 例如,我諮詢了兩個文件:SWI Prolog:諮詢文件
consult('load.pl').
consult('main.pl').
現在我需要給我的所有諮詢文件,因爲我要檢查,如果他們已經加載或沒有謂語。目前,我正在構建一個用於諮詢文件的GUI,如果沒有必要,我不希望用戶必須添加一個。
SWI Prolog有沒有辦法請求諮詢文件? 例如,我諮詢了兩個文件:SWI Prolog:諮詢文件
consult('load.pl').
consult('main.pl').
現在我需要給我的所有諮詢文件,因爲我要檢查,如果他們已經加載或沒有謂語。目前,我正在構建一個用於諮詢文件的GUI,如果沒有必要,我不希望用戶必須添加一個。
您需要的謂詞是內置的source_file/1
,記錄爲together with consult/1
。您也可以在同一頁面查看source_file/2
。
請注意,根據您在代碼中使用的庫,您將得到許多未直接參考的文件列表。
無論如何,如果你只想加載,如果還沒有加載,你還應該看看ensure_loaded/1
記錄在同一頁上。
'ensure_loaded/1'不檢查SWI中的日期 - 因此它不能用於重新加載文件。在SICStus和YAP中它可以用於此目的。 – false 2014-09-30 10:12:34
也許你只是想實現類似'make/0'的東西? – false 2014-09-30 10:11:21