संभव डुप्लिकेट:
Prolog delete: doesn't delete all elements that unify with ElementProlog में एकीकरण के बिना एक सूची के सभी सदस्यों को हटाया जा रहा है
Prolog में अगर आप इस बारे में:
delete([(1,1),(1,2),(1,1),(3,4)],(1,_),L).
परिणाम हो जाएगा:
L = [ (1, 2), (3, 4)].
सामान्य क्या है क्योंकि _ चर पहले तत्व में 1 के साथ बांधता है और यह (1,1) के आगे के तत्वों की खोज करता है और उन्हें हटा देता है।
क्या इस एकीकरण को फॉर्म (1, _) के सभी सदस्यों को होने और हटाने से रोकने का कोई तरीका है। उस स्थिति में परिणाम होना चाहिए: एल = [(3, 4)]।
काम करता है, लेकिन ब्रेक सूची आइटम अपर्याप्त समय में instantiated कर रहे हैं 'delete_pattern/3' चलाया जाता है। – repeat