मान लीजिए कि मेरे पास एक तत्व है, और मेरे पास भविष्यवाणियों (कार्यों) की एक सूची है। मैं इन भविष्यवाणियों में से प्रत्येक को एक तत्व में लागू करना चाहता हूं और वापसी मानों की एक समान सूची प्राप्त करना चाहता हूं। मुझे पता है कि map
और दोस्तों तर्कों की एक सूची में एक ही फ़ंक्शन लागू कर सकते हैं, लेकिन क्या एक ही तर्क में कई फ़ंक्शंस लागू करने के लिए कोई संक्षिप्त वाक्यविन्यास है?सभी को समान तर्कों के कार्यों की एक सूची लागू करने के लिए लिस्पी कोड संक्षिप्त करें और वापसी मूल्यों की एक सूची प्राप्त करें?
मैं
(mapcar (lambda (pred) (funcall pred SINGLE-ELEMENT)) LIST-OF-PREDICATES)
कर सकते हैं, लेकिन यह अच्छा होगा अगर वहाँ एक समारोह है कि तरह काम किया था:
(test-predicates-against-element LIST-OF-PREDICATES SINGLE-ELEMENT)
जाहिर है मैं कर सकते हैं बस इसे defun
, लेकिन मैं अगर जानना चाहता था ऐसा करने के लिए एक स्वीकार्य विधि है।
मुझे समझ में नहीं आता कि सीएलएचएस को क्या कहना है कि डायनामिक-एक्सटेन्ट क्या करता है। प्रविष्टि का कहना है कि, एक उदाहरण के रूप में, एक कार्यान्वयन इस प्रकार घोषित आवंटित चर आवंटित करने का चयन कर सकता है, और यह दिखाता है कि यह संभवतया एक defun के पैरामीटर आवंटित करने के लिए उपयोगी नहीं है। यह यहां काम करता है क्योंकि तर्क एक सूची है (ज्ञात आकार के)? –
तर्क एक सूची है। यह सूची केवल इस फ़ंक्शन के अंदर उपयोग की जाती है और वापस नहीं आती है। इस प्रकार गतिशील सीमा। यदि समर्थित है तो सूची को आवंटित किया जा सकता है। इस समारोह से लौटने पर सूची नष्ट हो जाएगी, इस प्रकार कोई जीसी समय की आवश्यकता नहीं है। –