我是新來的Prolog,我很難用動態謂詞。序言 - 使用動態斷言
首先,這裏我執行
:- dynamic(list/1).
add(X, LL) :- asserta(list([])), asserta(list(X)), retract(list(LL)).
代碼我知道代碼看起來怪異,但我只是在尋找使用正確的語法。
現在,如果我這樣做:
add(2,LL)。
答案將是:
LL = 2;
LL = []。
但我想要做的是將X(2)添加到數組([])中。所以..
LL = [2]。
它看起來很簡單(可能是),但我無法得到它的工作。
非常感謝。
我想將它添加到前面。我希望它失敗,X = []。 –
如果你是Prolog的新手,忘記斷言。首先了解其他所有內容:邏輯變量,統一,謂詞和/或列表,遞歸,... – jschimpf