अल्पविराम का उपयोग एक backquoted (उर्फ क्वासिकोटेड) सूची के संदर्भ में किया जाता है , जो आपको सूची के कुछ भागों का चयन करने के लिए अनुमति देता है। बैककॉटिंग के लिए उपयोग के उदाहरण के लिए इस धागे को भी देखें ।
सरल उदाहरणों की एक जोड़ी:
(setq a "a's value" b "b's value" c "c's value")
'(a b c) ; => (a b c)
`(,a b ,c) ; => ("a's value" b "c's value")
जिन कॉमाओं का आप जिक्र कर रहे हैं, वे एक स्थूल परिभाषा में हैं, जो बदले में, एक backquoted का उपयोग करता है progn
:
(defmacro add-annoying-arrows-advice (cmd alternatives)
`(progn
(add-to-list 'annoying-commands (quote ,cmd))
(put (quote ,cmd) 'aa--alts ,alternatives)
(defadvice ,cmd (before annoying-arrows activate)
(when annoying-arrows-mode
(aa--maybe-complain (quote ,cmd))))))
,cmd
backquote के भीतर आप cmd
प्रतीक के बजाय जगह के मूल्य को रखने की अनुमति देता है cmd
।
progn
मतलब है कि आपको उस सामान के सामने अल्पविराम लगाना होगा जिसका आप मूल्यांकन करना चाहते हैं, चाहे वह कितना भी नेस्टेड क्यों न हो? (,cmd
एक और सूची के भीतर है, सीधे भीतर नहीं(progn)
।)