সাধারণ সমস্যাটি হ'ল আপনার দরকার হয় xএবং yএগুলি প্রবেশ করানোর আগে তাদের মূল্যায়ন করা উচিত somelist। সমস্যাটির উদ্ধৃত তালিকা (সঙ্গে 'যেমন পাঠক সিনট্যাক্স) যে quoteএকটি বিশেষ ফর্ম যে তার যুক্তি মূল্যায়ন না। দস্তাবেজ অনুসারে:
(quote ARG)
যুক্তিটি মূল্যায়ন না করেই ফিরিয়ে দিন। (quote x)ফলন x। সতর্কতা: quoteতার রিটার্ন মানটি তৈরি করে না, তবে কেবলমাত্র সেই মানটি ফিরিয়ে দেয় যা লিস্প পাঠক দ্বারা প্রাক-নির্মিত হয়েছিল ...
অতএব, আপনি হয় ব্যাককোটা বা আর্গুমেন্ট মূল্যায়ন একটি ফাংশন ব্যবহার করতে হবে।
ব্যাককোটিং আপনাকে ,বাক্য উদ্ধৃত তালিকার উপাদানগুলিকে সিন্টেক্স সহ নির্বাচিতভাবে মূল্যায়ন করতে দেয় :
(setq x "x-val" y "y-val" z "z-val" somelist nil)
'(x y z) ; => (x y z)
`(x ,y z) ; => (x "y-val" z)
(add-to-list 'somelist `(x y ,z)) ; => ((x y "z-val"))
পর্যায়ক্রমে, আপনি ব্যবহার করতে পারেন cons(@ উত্তর হিসাবে উত্তর তারশী হিসাবে) বা, স্বেচ্ছাসেবী সংখ্যার জন্য list,:
(add-to-list 'somelist (cons x y)) ; => (("x-val" . "y-val"))
(setq somelist nil) ; reset
(add-to-list 'somelist (list x y z)) ; => (("x-val" "y-val" "z-val"))
কোনটি ব্যবহার করতে হবে তা উপাদানগুলির সাথে আপনার কী করা দরকার তার উপর নির্ভর করে।
`(,x . ,y)।