"मेरी दूसरी कार सीडीआर है" का क्या मतलब है?


89

क्या कोई अच्छी तरह से लिस्प में निपुण हो सकता है मुझे यह मजाक समझा सकता है? मैंने कार्यात्मक प्रोग्रामिंग भाषाओं पर कुछ पढ़ने के लिए किया है और यह जानता हूं कि CAR / CDR का मतलब पता / पता रजिस्टर की सामग्री है लेकिन मैं अभी भी वास्तव में हास्य को नहीं समझता हूं।


10
थोड़ा सा "चारों ओर" शुरू करें और फिर आप समझ जाएंगे। hahaha। यह बम्पर स्टिकर से बेहतर है जो कहता है "यह प्रोग्रामर सभी कचरा संग्रह पर रुकता है।"
गोंजोब्राईंस

8
इस प्रश्न से जुड़े होने के लगभग आधे घंटे बाद news.ycombinator.com/item?id=14416846 इसे होल्ड पर रखा गया। यह 8 साल पुराना सवाल है। Annoyingly, मैं ऑन-रुकाव स्थिति के खिलाफ बहस नहीं कर सकते हैं, लेकिन मैं पकड़ पर डालने की वाइब पसंद नहीं अब
०३६_

@ i336_ प्रति मेटा चर्चा के अनुसार , समीक्षा कतार को रोककर नए उत्तरों को रोकने के लिए इसे बंद कर दिया गया है।
एंड्रयू

2
क्या कोई अन्य कारण नहीं हैं? राय आधारित ... गलत है
एंटेंदु

6
इसके बजाय इसे संरक्षित नहीं किया जाना चाहिए?
फेडेरिको क्लेज़ कुल्लोक

जवाबों:


134

लिस्प में, एक लिंक किए गए सूची तत्व को CONS कहा जाता है। यह दो तत्वों के साथ एक डेटा संरचना है, जिसे ऐतिहासिक कारणों के लिए सीएआर और सीडीआर कहा जाता है। (कुछ आम लिस्प प्रोग्रामर एफआईआरएसटी और आरईएसटी फ़ंक्शन का उपयोग करके उन्हें संदर्भित करना पसंद करते हैं, जबकि अन्य सीएआर और सीडीआर को पसंद करते हैं क्योंकि वे पूर्वनिर्धारित संस्करणों जैसे (सीएडीआर एक्स) ≡ (सीएआर (सीडीआर एक्स)) के साथ अच्छी तरह से फिट होते हैं।

मजाक बम्पर स्टिकर की एक पैरोडी है जिसे आप कभी-कभी बीट-पुरानी कारों पर कहते हैं "मेरी दूसरी कार एक पोर्श / बीएमडब्ल्यू / आदि है।"

इस मजाक पर मेरी प्रतिक्रिया हमेशा "मेरी दूसरी कार एक सीएडीआर है। सीडीआर एक कार नहीं है।"


1
बहुत अच्छा है, लेकिन सच नहीं है। नहीं के बाद (rplacd a (car a))यह स्पष्ट रूप से नहीं होगा। :) आम LISP Haskell नहीं है। लेकिन स्पष्टीकरण के लिए धन्यवाद। +1।
विल नेस

2
मैं अपने मज़ाक को समझाना नहीं चाहता था, लेकिन ... मुद्दा यह है कि सीडीआर ऑपरेशन एक कार ऑपरेशन नहीं है ; मान RPLACD या जो भी हो, के बराबर हैं या नहीं, इससे अलग मुद्दा है।
पीटर एस

1
और यह भी, एक स्पोर्ट्स कार के नाम की तरह सीडीआर, टीवीआर या जीटी-आर गूंज रहा है, इसलिए कोई भी पाठ पढ़ सकता है और गहरी, एलआईएसपी-वाई अर्थ का एहसास भी नहीं कर सकता है।
'12:55

4
यदि कोई जानना चाहता है, तो कार रजिस्टर नंबर के पते वाले हिस्से की सामग्री के लिए है, और सीडीआर रजिस्टर संख्या के घटाव वाले हिस्से के लिए है । धन्यवाद, विकिपीडिया !
कोजीरो

1
कैसे "मेरा दूसरा carहै first"। :)
कज़

34

हां, निश्चित रूप से एक गीक मजाक है।

नाम आईबीएम 704 से आते हैं, लेकिन यह मजाक नहीं है।

"मेरी दूसरी कार ___ है" पर मजाक (बुरा) वाक्य है। लेकिन इन-जोक पुनरावृत्ति के बारे में है।

जब आप लूप / मैनिपुलेट / चयन / इनवॉइस / लिस्प में अधिक करते हैं तो आप कार के संयोजन का उपयोग करते हैं (सूची में पहला तत्व) और jdgle के कार्यों के लिए सीडीआर (बाकी सूची)।

इसलिए आपको एक कार मिल गई है, लेकिन आपकी दूसरी कार आपकी सीडीआर है क्योंकि आप हमेशा सीडीआर से कार प्राप्त कर सकते हैं क्योंकि सीडीआर हमेशा (पुनरावृत्ति में) अधिक तत्व होते हैं। उसे ले लो? हंसी अभी तक?

आपको शायद लिस्प सीखना होगा, वास्तव में थोड़ा चकरा देना चाहिए, या नहीं। बेशक, तब तक, आप शायद खुद को बिना किसी स्पष्ट कारण के बेतरतीब ढंग से चकिंग कर पाएंगे:

लिस्प आपको लूप बनाती है।


2
और आपकी अंतिम सांस के साथ, एक और खेल शुरू हुआ।
zxq9

14

योजना से // आ रहा है
योजना बहुत कुछ डेटा संरचनाओं है, उनमें से एक एक टपल है: '(first . second)। इस मामले में, carपहला तत्व है, और cdrदूसरा है। यह निर्माण सूचियों, पेड़ों और अन्य संरचनाओं को बनाने के लिए बढ़ाया जा सकता है।
मजाक बहुत मज़ेदार नहीं है।


1
क्या टुपल नहीं होगा '(पहला। दूसरा)?
केन

1
@ फिर से, मैं लिस्प नहीं जानता, लेकिन इस तरह की जटिल वाक्य रचना नहीं है। यहां तक ​​कि सूचियां भी जोड़ियों से बनी होती हैं।
कोबी

3
वास्तव में, यह कहना अधिक सटीक होगा कि टपल है (first . second)। सूची '(first second)दो (cons first (cons second null))
टुपल्स से बनी है

1
कोबी: मैं लिस्प जानता हूं, और मुझे यकीन नहीं है कि आप "जटिल वाक्यविन्यास" से क्या मतलब है। बिंदीदार सिंटैक्स है कि आप योजना में लिस्प में जोड़े कैसे लिखते हैं, जिसमें योजना शामिल है: gnu.org/software/mit-scheme/documentation/mit-scheme-ref/… । (प्रथम द्वितीय) का cdr (दूसरा) है, दूसरा नहीं।
केन

3
तो, अब हम सुधारा जा रहा है? ओह अच्छा। सूरज चमक जाएगा।
कोबी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.