如何在creaso中求和所有值,而不仅仅是不同的值



以下代码生成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) }.

所以,似乎你必须写出整个";唯一密钥";但只有第一个值被求和。我在文档中没有对此进行解释,甚至没有提及。

相关内容

最新更新