سؤال

هل يمكن لأي شخص ضليعا جيدا في LISP شرح هذه النكتة لي؟ لقد قمت ببعض القراءة على لغات البرمجة الوظيفية وتعرف أن السيارة / CDR تعني محتويات سجل العنوان / الانقراض ولكن ما زلت لا أفهم الفكاهة حقا.

هل كانت مفيدة؟

المحلول

في LISP، يسمى عنصر قائمة مرتبط سلبيات. إنه بنية بيانات مع عنصرين يسمى السيارة و CDR لأسباب تاريخية. (يفضل بعض مبربرات LISP المشتركة الإشارة إليهم باستخدام الوظائف الأولى والراحة، في حين أن آخرين يحبون السيارة و CDR لأنهم يناسبون جيدا مع الإصدارات المباشرة مثل (CADR X) ≡ (CAR (CDR X)).

النكتة هي محاكاة ساخرة من ملصقات الوفير التي تراها في بعض الأحيان على السيارات القديمة للضرب قائلا "سيارتي الأخرى هي بورش / بي ام دبليو / إلخ."

لي استجابة لهذه النكتة كانت دائما "سيارتي الأخرى هي كاد. CDR ليست سيارة على الإطلاق".

نصائح أخرى

نعم، بالتأكيد نكتة المهوس.

الأسماء تأتي من IBM 704، ولكن هذه ليست النكتة.

النكتة هي (سيئة) التورية على "سيارتي الأخرى هي ___." لكن النكتة هي عن العودية.

عندما تقوم بحلقة / معالجة / اختر / استدعاء / المزيد في LISP، يمكنك استخدام مزيج من السيارة (العنصر الأول في القائمة) و CDR (بقية القائمة) لتكفيف الوظائف.

لذلك لديك سيارة، لكن سيارتك الأخرى هي CDR الخاص بك لأنك يمكنك دائما الحصول على سيارة من CDR لأن CDR دائما (في العودية) المزيد من العناصر. احصل عليه؟ اضحك بعد؟

ربما عليك أن تتعلم LISP بمثابة ضحكة مكتومة قليلا، أم لا. بطبيعة الحال، بحلول ذلك الوقت، ربما تجد نفسك ضخمة عشوائيا دون سبب واضح لأن:

Lisp يجعلك loopy.

// القادمة من مخطط
يحتوي المخطط على عدد قليل جدا من هياكل البيانات، واحد منهم هو tuple: '(first . second). وبعد في هذه الحالة، car هو العنصر الأول، و cdr هو الثاني. يمكن تمديد هذا البنية لإنشاء قوائم وأشجار وهياكل أخرى.
النكتة ليست مضحكة جدا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top