1 prolog
我想知道,我将如何使用下划线两次,但检查下划线的两个实例是否统一?
我基本上需要的是,如果存在一个映射中具有相同值的两个元素,则返回true
IE member((_,_),[(a,a),(b,a),(c,a)]).
member((_,_),[(a,a),(b,a),(c,a)]).
如果我使用变量那会使它们统一吗?
IE member((A,A),[(a,a),(b,a),(c,a)]).
member((A,A),[(a,a),(b,a),(c,a)]).
但它返回变量而不是真.
我需要一些启示.
Jer*_*ome 5
您的变量解决方案是正确的.
返回变量是一种返回true的方法.这实际上意味着:当var = value时,这个目标是正确的,而不是这个目标是真的.
请注意,将其用作不同谓词中的子句将隐藏变量:
contains_identical_pair(List) :- member((A,A),List).
归档时间:
15 年,11 月 前
查看次数:
1153 次
最近记录:
11 年,9 月 前