0
我有一個問題,需要我將元素添加到遍佈各種謂詞的列表中。我選擇使用動態列表謂詞,而不是通過基於參數的列表來做。我簡單的例子可以看到下面。當我最初使用它時,它工作正常,但現在如果我使用任何參數作爲X,即使在關閉程序並重新編譯之後,它仍會從列表中檢索先前的參數數據。有人知道它有什麼問題嗎?不可預知的動態謂詞行爲
//list declarations
:- dynamic listD/1.
listD([]).
//pushes X onto the list then retrieves the entire list for verification
sample(X):-
assert(listD(X)),
listD(Y),
write(Y).
Example usage
sample([adam]).
//prints adam fine
sample([fred]).
//prints adam again
花時間學習正確的序言:避免斷言儘可能 – CapelliC 2013-04-27 23:28:02
是我的答案有幫助嗎?別的東西還不清楚? – 2013-04-28 15:08:14