मान लो मेरे पास है
(setq a 1 b 2)
मैं अस्थायी रूप से चर का उपयोग किए बिना a
और उसके मूल्यों को कैसे बदल सकता हूं b
?
जबकि मुझे कई सालों पहले प्रोग्रामिंग उदाहरणों से स्वैप ऑपरेशन याद है, मुझे नहीं लगता कि मुझे कभी ऐसे "स्वैप" ऑपरेशन की आवश्यकता है। तो आपको कहां लगता है कि आपको ऐसी चीज़ की ज़रूरत है?
—
स्टीफन
@ इस बार, मैं एक फ़ंक्शन लिख रहा हूं जिसमें दो तर्क दिए गए हैं, और मैं यह सुनिश्चित करना चाहता हूं कि पहला तर्क दो में से छोटा हो।
—
पायथनऑनट
@PythonNut, अच्छी तरह से आप पहले तर्क को
—
मार्क कारपोव
(min a b)
और दूसरे को बांध सकते हैं (max a b)
। यह एक उपाय है। कुछ लोग यह तर्क देंगे कि जब कोई पीड़ित होता है तो उसे दो तुलनाओं की आवश्यकता होती है। आप इसे और अधिक कार्यात्मक तरीके से एक तुलना के साथ संभाल सकते हैं, उदाहरण के लिए विनाशकारी बाइंड का उपयोग करके (cl-destructuring-bind (a . b) (if (< a b) (cons a b) (cons b a)) ...)
। यह एक और तरीका है।
@ मर्क सच है, लेकिन, कम से कम मेरे लिए, ऐसा लगता है कि स्वाटिंग हथगोले के साथ उड़ती है।
—
PythonNut
cl-destructuring-bind
इस काम के लिए एक हास्यास्पद शक्तिशाली उपकरण है।