以下代码生成x(3)
而不是x(4)
,因为即使1出现两次,它也会将1和2相加。在cliano中获得合计的正确方法是什么?
p(0,1;1,1;2,2).
x(X) :- X = #sum { Y: p(_,Y) }.
仍然不太确定为什么它有效,但它确实有效:
x(X) :- X = #sum { Y, Z: p(Z,Y) }.
所以,似乎你必须写出整个";唯一密钥";但只有第一个值被求和。我在文档中没有对此进行解释,甚至没有提及。