比较并从列表中删除元素

时间:2018-05-10 22:52:42

标签: prolog

所以我想创建一个程序,给定一个列表和一个元素,只返回列表,直到出现所述元素,如下所示:

adiciona((X,Y),[],[(X,Y)]).
adiciona((X,Y), [(W,Z)|Tail],[(W,Z)|Tail1]):-
    adiciona((X,Y),Tail,Tail1).

 propaga_aux([X|_], X, [X]).

 propaga_aux([(X,Y)|_], (Z,W), P):-
   (X,Y) = (Z,W), !,
   adiciona((X,Y),[],P).

 propaga_aux([(X,Y)|T], (Z,W), P):-
  (X,Y) \= (Z,W), !,
  adiciona((X,Y),[],P),
  propaga_aux(T, (Z,W), P).

目前我有这个:

resource.type="k8s_cluster"
resource.labels.cluster_name="<your_cluster_name>"
resource.labels.location="<your_cluster_zone>"
protoPayload.methodName="io.k8s.core.v1.nodes.update"

Adiciona在列表末尾添加了一个元素。 它一直在返回假,我认为问题是我如何使用谓词adiciona,但我无法弄清楚我做错了什么,我尝试了很多变化,我无法做到这一点,有人可以帮我?

0 个答案:

没有答案