2011-04-14 13 views

उत्तर

18

यह थोड़ा प्रयोग

> (let ((x '(1 2 3 4))) `(this is an example ,x of expansion)) 
(THIS IS AN EXAMPLE (1 2 3 4) OF EXPANSION) 

> (let ((x '(1 2 3 4))) `(this is an example ,@x of expansion)) 
(THIS IS AN EXAMPLE 1 2 3 4 OF EXPANSION) 

बनाकर अंतर को देखने के लिए आप @ के उपयोग के विस्तार में सीधे अंदर सूची के तत्वों स्थापित करेंगे देख सकते हैं बहुत आसान है। इसके बजाय आप विस्तार में रखा सूची के बिना मिलता है।

0

@ को सूची को डीकोनस्ट्रक्चर करने और इसे सूची में जोड़ने के बारे में भी विचार किया जा सकता है जैसा कि Practical Common Lisp में वर्णित है।

(append (list 'a) (list 1 2) (list 'c)) 

जो पैदा करता है:

(a 1 2 c) 

`(a ,@(list 1 2) c) 

के बराबर है

संबंधित मुद्दे