正如标题所说,我想编写一个执行此操作的程序。
一个例子是:
?- count(member(X,[1,2,3]), N).
N = 3
Yes
但不仅是成员的构建,还有一些运营商,如:
?- count(17 =:= 12 + 5, N).
N = 1
Yes
有人可以帮助我开始吗?
答案 0 :(得分:2)
试试这个:
?- findall(., Goal, Ls), length(Ls, L).
示例:
?- findall(., member(X,[1,2,3]), Ls), length(Ls, L). L = 3, ... .
答案 1 :(得分:0)
库(aggregate)已经实施,可以为您的问题提供解决方案等等......
?- aggregate(count, X^member(X,[1,2,3]), N).
N = 3.
?- aggregate(count, 17 =:= 12 + 5, N).
N = 1.