फिलहाल मैं पीटर सेबेल से "प्रैक्टिकल कॉमन लिस्प" के माध्यम से काम कर रहा हूं।LISP: कीवर्ड पैरामीटर, आपूर्ति-पी
अध्याय में
(defun foo (&key a (b 20) (c 30 c-p)) (list a b c c-p))
परिणाम::
(foo :a 1 :b 2 :c 3) ==> (1 2 3 T)
(foo :c 3 :b 2 :a 1) ==> (1 2 3 T)
(foo :a 1 :c 3) ==> (1 20 3 T)
(foo) ==> (NIL 20 30 NIL)
"प्रैक्टिकल: एक साधारण डेटाबेस" (http://www.gigamonkeys.com/book/practical-a-simple-database.html) Seibel कीवर्ड मापदंडों और निम्न उदाहरण के साथ एक आपूर्ति पैरामीटर के उपयोग बताते हैं इसलिए यदि मैं अपनी पैरामीटर सूची की शुरुआत में & कुंजी का उपयोग करता हूं, तो मुझे पैरामीटर की आपूर्ति या नहीं होने पर 3 पैरामीटर नाम, डिफ़ॉल्ट मान और तीसरे की सूची का उपयोग करने की संभावना है। ठीक। लेकिन ऊपर के उदाहरण में कोड देख:
(list a b c c-p)
तुतलाना दुभाषिया कैसे पता है कि सी पी मेरी "आपूर्ति पैरामीटर" है?
आहा इसे मिला :-) सी-पी बस ए, बी और सी जैसी सूची में जोड़ा गया है और "एक सूची सेट/अनसेट" के लिए "आपूर्ति पैरामीटर" नहीं है। सिंटैक्स के आदी होने में कुछ समय लगता है, हालांकि यह वास्तव में आसान है। :-) धन्यवाद! – echox