अब यह सिर्फ ठीक काम करता है:elisp: कैसे स्ट्रिंग कुंजी के साथ एक संघ सूची में से एक तत्व को नष्ट करने के
(setq al '((a . "1") (b . "2")))
(assq-delete-all 'a al)
लेकिन मैं अपने अनुप्रयोग में कुंजी के रूप में तार का उपयोग कर रहा:
(setq al '(("a" . "foo") ("b" . "bar")))
और इस लिए कुछ भी करने में विफल रहता है:
(assq-delete-all "a" al)
मुझे लगता है कि क्योंकि स्ट्रिंग वस्तु दृष्टान्त अलग है कि
012 (?)तो मैं कैसे एक संघ सूची में से एक स्ट्रिंग कुंजी के साथ एक तत्व को नष्ट करना चाहिए? या मुझे छोड़ देना चाहिए और इसके बजाय प्रतीकों का उपयोग कुंजी के रूप में करना चाहिए, और आवश्यकता होने पर उन्हें तारों में परिवर्तित करना चाहिए?
वैसे, आप 'वापस चर हालांकि यह एक विनाशकारी आपरेशन है assq-हटाना-all' का परिणाम आवंटित करने के लिए की जरूरत है:' (setq अल (assq हटाना-सब 'एक अल)) '। अगर सूची खाली हो जाती है तो क्या होगा? 'अल' को मूल्य शून्य पर लेना चाहिए: यह कैसे होगा? या क्या होगा यदि आप पहले तत्व को हटा देते हैं, तो मुख्य विपक्ष जिसमें 'al' प्रारंभ में इंगित करता है?दूसरे सेल पर जाने के लिए 'al' को अद्यतन किया जाना चाहिए। – Kaz