2012-01-13 77 views
0

我想創建一個在列表執行另一個列表時成功的參數。如何檢查列表是否在Prolog中取得另一個列表

例如?-proceed_list([1,2],[2])。是或True(無論編譯器如何)。

任何人都可以幫助我嗎?

+0

你能改說或澄清你的問題嗎? – aqua 2012-01-13 08:47:58

+0

是的沒問題。我想提出一個參數,讓它命名爲proceed_list(X,Y),當列表Y繼續列表X時,它會成功。換句話說,列表Y中的項目在列表X之後。例如[1,2,3] [1,2]。例如,如果我們問prolog?-proceed_list([1,2],[2]),那麼答案應該是。我希望它有幫助。 – Pantheo 2012-01-13 09:04:42

回答

3

你的問題很難解析。正如aqua所評論的那樣,你應該改變它。對於它的價值,我理解你的例子,你想檢查第二個列表[2]是否是第一個[1,2]的尾部(即「繼續」意思是「繼續」)。如果這就是你想要的,那麼這應該工作:

proceed_list(L1, L2) :- 
    once(append(_, L2, L1)). 
+0

非常感謝你的交流。我將在未來嘗試更具體的問題。 – Pantheo 2012-01-13 09:33:29

+1

@Pantheo:順便說一句,如果你喜歡twinterer的回答者,你可以點擊他的答案的檢查標誌來接受它:) – m09 2012-01-13 11:26:38

+0

什麼不能prolog追加呢? – DaveEdelstein 2012-01-13 13:05:35

相關問題