1
我對Prolog相當陌生,我試圖讓我的頭繞着列表的概念。我試圖一個例子是:將原子添加到列表序言
value(a, 1).
value(b, 2).
value(a, 3).
value(a, 4).
value(c, 3).
我想創建,當在查詢find(a, List)
結果謂詞:List = [1, 3, 4].
它只是簡單地越過所有的事實,並增加了匹配的人的名單。
我試過這樣的事情。但它似乎並不正確:
find(X, List):-
value(X, D), append([D], [], [List|Rest]), find(X, [Head|List]).
對不起,有這樣一個基本問題。任何指導表示讚賞。
注:我打算通過添加列表中的所有值來擴展該程序。
要對結果列表進行求和,只需要使用'sumlist(List,Sum)'內置的謂詞。 – lurker