Was bedeutet "mein anderes Auto ist ein CDR"?
Kann jemand versiert in lisp erklären, dieser Witz für mich?
Ich habe einige Lesen über funktionale Programmiersprachen und wissen, dass der CAR/CDR-meine Inhalte-Adresse/Decrement Register, aber ich verstehe immer noch nicht wirklich der Humor.
InformationsquelleAutor der Frage CaptainCasey | 2009-12-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
In Lisp, einer verknüpften Liste element wird als ein CONS. Es ist eine Datenstruktur mit zwei Elementen, genannt die AUTO-und die CDR aus historischen Gründen. (Einige Common Lisp-Programmierer bevorzugen, um Sie mit der ERSTEN und REST-Funktionen, während andere, wie CAR und CDR, weil Sie passen gut mit der vorverfassten Versionen wie (CADR x) ≡ (CAR (CDR x)).
Der Witz ist eine Parodie auf die Aufkleber, die Sie sehen manchmal auf dem beat-up alten Autos sagen: "Mein anderes Auto ist ein Porsche/BMW/etc".
Meine Antwort dieser Witz war schon immer "Meine anderen AUTO ist ein CADR. CDR ist nicht ein AUTO".
InformationsquelleAutor der Antwort Peter S. Housel
Ja, definitiv ein geek-Witz.
Die Namen kommen aus der IBM 704, aber das ist nicht der Witz.
Ist der Witz (schlechte) Wortspiel auf "meine anderen Auto ist ein ___." Aber die in-Witz ist, über Rekursion.
Wenn Sie loop/Bearbeiten/auswählen/aufrufen/mehr in lisp, verwenden Sie eine Kombination von Auto (das erste element in der Liste) und cdr (rest der Liste) zu jonglieren Funktionen.
Also du hast ein Auto, aber deine anderen Auto Ihr cdr-denn Sie können immer ein Auto bekommen von einer cdr, da die cdr ist immer (Rekursion) mehr Elemente. Es bekommen? Lachen Sie noch?
Wirst du wohl lernen müssen, lisp tatsächlich kichern ein bisschen, oder nicht. Natürlich, dann werden Sie wahrscheinlich finden sich kichernd zufällig ohne ersichtlichen Grund da:
Lisp macht Sie zu durchgeknallten.
InformationsquelleAutor der Antwort zen
//Aus-Regelung
Schema hat nur sehr wenige Daten, Strukturen, einer von Ihnen ist ein Tupel:
'(first . second)
. In diesem Fallcar
ist das erste element, undcdr
ist die zweite. Dieses Konstrukt kann erweitert werden zum erstellen von Listen, Bäumen und anderen Strukturen.Der Witz ist nicht sehr witzig.
InformationsquelleAutor der Antwort Kobi