可能性の重複:
Prologで
Prolog delete: doesn't delete all elements that unify with ElementPrologで統一することなく、リストのすべてのメンバーを削除する
あなたがこれを書いた場合:
delete([(1,1),(1,2),(1,1),(3,4)],(1,_),L).
結果は次のようになります。
L = [ (1, 2), (3, 4)].
_変数が最初の要素の1とバインドし、(1,1)の要素をさらに検索して削除するため、通常の動作と同じです。
フォーム(1、_)のすべてのメンバーの削除と削除を防ぐ方法がありますか。 その場合、結果は次のようになります。 L = [(3,4)]。
原則的に動作しますが、リスト項目が不十分時間 'delete_pattern/3'が実行される時にインスタンス化されている場合は休憩:ここで説明する以前のバージョンでは推論がはるかに困難になり、実際のインスタンス化に依存することに注意してください。 – repeat