2009-02-09 16 views

उत्तर

1
इसके अलावा

:

(चलो ((ab) (बा)) ...)

+0

कि चर 'मूल्यों को बदल नहीं है, यह केवल नए शाब्दिक बाइंडिंग बनाता है। –

+2

@ dmitry-vk: अक्सर आपको इसकी आवश्यकता होती है। यह निश्चित रूप से आप क्या कर रहे हैं इस पर निर्भर करता है। – khedron

1

एक अन्य विकल्प, "समांतर setf":

(psetf अब्बा)

+3

'rotatef' और' psetf' के बीच एक अंतर यह है कि यदि 'ए' और' बी' वास्तव में अधिक जटिल रूप हैं, तो 'psetf' किसी भी सबफॉर्म का मूल्यांकन दो बार करेगा, लेकिन' rotatef' उनका मूल्यांकन केवल एक बार होगा, जो कि है एक सामान्य रूप से चाहते हैं। –

-3

बल्कि भयानक विधि है और यह केवल संख्यात्मक मानों के लिए काम करता है, लेकिन यह अधिक सामान्य है और वाक्यविन्यास निर्भर नहीं है:

एक = एक^b

ख = एक^b

एक = एक^b

यह मानते हुए कि ए और बी, इससे पहले सौंपा गया^तार्किक अनन्य विकल्प का मतलब है।

0

फिर भी एक और दृष्टिकोण:

(setf (values a b) (values b a))