我想創建一個在列表執行另一個列表時成功的參數。如何檢查列表是否在Prolog中取得另一個列表
例如?-proceed_list([1,2],[2])。是或True(無論編譯器如何)。
任何人都可以幫助我嗎?
我想創建一個在列表執行另一個列表時成功的參數。如何檢查列表是否在Prolog中取得另一個列表
例如?-proceed_list([1,2],[2])。是或True(無論編譯器如何)。
任何人都可以幫助我嗎?
你的問題很難解析。正如aqua所評論的那樣,你應該改變它。對於它的價值,我理解你的例子,你想檢查第二個列表[2]
是否是第一個[1,2]
的尾部(即「繼續」意思是「繼續」)。如果這就是你想要的,那麼這應該工作:
proceed_list(L1, L2) :-
once(append(_, L2, L1)).
非常感謝你的交流。我將在未來嘗試更具體的問題。 – Pantheo 2012-01-13 09:33:29
@Pantheo:順便說一句,如果你喜歡twinterer的回答者,你可以點擊他的答案的檢查標誌來接受它:) – m09 2012-01-13 11:26:38
什麼不能prolog追加呢? – DaveEdelstein 2012-01-13 13:05:35
你能改說或澄清你的問題嗎? – aqua 2012-01-13 08:47:58
是的沒問題。我想提出一個參數,讓它命名爲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