(अस्वीकरण - मैं Clojure में seqs के महत्व के बारे में पता कर रहा हूँ)आम लिस्प विपक्ष दो प्रतीकों से एक सूची बनाता है, क्लोजर विपक्ष को एक सीक पर विपक्ष की आवश्यकता होती है?
आम तुतलाना में विपक्ष समारोह एक सूची में दो प्रतीकों गठबंधन करने के लिए इस्तेमाल किया जा सकता:
(def s 'x)
(def l 'y)
(cons s l)
clojure में - आप कर सकते हैं केवल एक अनुक्रम पर विपक्ष - विपक्ष को दो प्रतीकों के साथ काम करने के लिए बढ़ाया नहीं गया है। तो आपको लिखना है:
(def s 'x)
(def l 'y)
(cons s '(l))
क्या क्लोजर में उच्च स्तर का पैटर्न है जो सामान्य LISP और क्लोजर के बीच इस अंतर को समझाता है?
मैं क्लोजर में थोड़ा प्रोग्रामिंग कर रहा हूं और इसके बारे में भी जानकारी नहीं थी! यदि आप जो दावा करते हैं वह सही है, तो यह एक अच्छा सवाल है :) –
ध्यान दें कि 'विपक्ष' से 'conj' का उपयोग करना सामान्य रूप से बेहतर होता है। अधिक जानकारी के लिए, इस प्रश्न का मेरा जवाब देखें (और cgrand द्वारा टिप्पणी): http://stackoverflow.com/questions/3008411/clojure-seq-cons-vs-list-conj (वास्तव में, वह उत्तर भी बताता है क्लोजर में 'विपक्ष' का कार्य पारंपरिक लिस्प 'विपक्ष' के विपरीत एक निश्चित डिग्री के विपरीत है।) –
आपका पहला उदाहरण एक सूची नहीं है, यह एक जोड़ी है। एक जोड़ी (ए। बी) दो तत्वों (एबी) की सूची से अलग होती है, जो जोड़ी होती है (ए। (बी। एनआईएल)) – Zorf