Given是一個List和兩個元素。首先,我需要檢查兩個元素是否是列表的一部分。之後,檢查元素Elem2
是否在給定列表中的Elem1
之後。 我使用的謂詞是帶有3個參數的weiterHinten
。判斷一個元素是否在列表中的另一個元素之後
例如:檢查c是否在列表[a,c,b,a]中的b之後。
weiterHinten([H|T],H,B).
weiterHinten([H|T],A,B):-weiterHinten(T,A,B).
weiterHinten([a,c,b,a],b,c).
這一目標,需要返回false.I知道,以後我找到列表的標題是等於A
我需要檢查,如果B
是表尾的成員。如果是,則表示B在列表中的A
之後,但我不確定如何執行此操作。
我想:
weiterHinten([H|T],H,B):-member(B,T).
但每當我打電話的目的它總是返回true對我來說不管是Elem2
後Elem1
我不知道你的問題是什麼。如果你指定「它不是以這種方式工作」的意思,它可能會有所幫助;它在做什麼。無論如何,我試着回答,讓我知道它是否有幫助。 – user7610
我的意思是,無論何時我打電話給目標,無論Elem2是否在列表中的Elem1之後,它總是返回true。例如,這個目標:? - weiterHinten([a,c,b,a],b,c)。回到我身邊,即使不是。 – UserMeli