[英]prolog how to remove an element from a list?
我知道刪除的減法謂詞從列表中刪除項目列表
subtract([a,b,c,a,b], [a,c], X).
但有什么相似的
remove([a,b,c,a,b], a, X).
我知道我可以修改上面的內容
subtract([a,b,c,a,b], [a], X).
達到預期的效果。
但我想知道是否還有其他辦法?
編輯:
@ user27815
你確實提供了一個非常詳細的答案,但我仍然非常新的prolog。 也許我沒有正確地問這個問題(我的壞)。 如果有另一種方法來實現這一點。它是預先定義的還是我必須自己定義它。 我能舉個例子嗎?
當然,有很多方法。 一個好方法是使用庫reif。
請重復查看此問題的答案:
有一些常規用法謂詞被定義為可以適應您的程序。
remove(List,Element,NewList):-
tinclude(not(list_memberd_truth([Element])),List,NewList).
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.