s(A,A). s(A,D):- l(A,B),s(B,C),r(C,D). l([a|A],A). r([b|A],A).
prolog中的上述代码检查列表的给定输入是否等于a和b.
如
s([a,a,b,b],[]). True.
这涉及递归和差异列表.任何人都可以解释底层递归检查如何与b的步骤相等.
list prolog difference-lists
difference-lists ×1
list ×1
prolog ×1