我有謂詞如下快速PROLOG查詢
dur(a,1).
dur(b,2).
dur(c,3).
dur(d,4).
說我要加入列表的元素[A,B,C]所以總和= 6 如何訪問與關聯的值變量?
因爲這樣的事情
len([],0).
len([H|T], Sum) :-
len(T, Rest),
Sum is H + Rest.
不起作用,它工作正常[1,2,3],但不是爲[A,B,C]這是有道理的,但我不沒有線索如何使它爲列表len([a,b,c],Sum)工作。
如果你有原子'了',你可以得到它的價值通過查詢'dur(a,Value)'。如果你有一個變量X,你可以通過查詢'dur(X,Value)'來得到任何'X'的值。你可以在你的'len'謂詞中使用它來對這些值進行求和,而不是嘗試對原子本身求和。 – lurker