मैं आम लिस्प मैक्रोज़ लिख रहा हूं, इसलिए योजना के आर 5 आर मैक्रोज़ मेरे लिए थोड़ा अप्राकृतिक हैं। मुझे लगता है कि मैं, विचार आया, सिवाय इसके कि मुझे समझ नहीं आता कि कैसे एक वाक्य रचना-नियमों में वेक्टर पैटर्न का प्रयोग करेंगे:सिंटैक्स-नियमों में वेक्टर पैटर्न कैसे उपयोग किए जाते हैं?
(define-syntax mac
(syntax-rules()
((maC#(a b c d))
(let()
(display a)
(newline)
(display d)
(newline)))))
(expand '(maC#(1 2 3 4))) ;; Chicken's expand-full extension shows macroexpansion
=> (let746() (display747 1) (newline748) (display747 4) (newline748))
मैं नहीं दिख रहा है कि कैसे मैं उस मैक्रो अपने तर्कों की आवश्यकता का उपयोग करेंगे वेक्टर के रूप में लिखा जाना चाहिए:
(maC#(1 2 3 4))
=>
1
4
क्या ऐसी कोई तकनीक है जो उन पैटर्न का उपयोग करती है?
धन्यवाद!
धन्यवाद! अब यह बहुत अधिक समझ में आता है! :-) – Jay