Question

Quelqu'un peut-il bien versé dans Lisp expliquer cette blague à moi? Je l'ai fait un peu de lecture sur les langages de programmation fonctionnelle et sachez que CAR / CDR signifie Contenu de l'adresse / décrémentation Registre, mais je ne comprends toujours pas vraiment l'humour.

Était-ce utile?

La solution

En Lisp, un élément de liste chaînée est appelé un CONS. Il est une structure de données avec deux éléments, appelés la RCA et le CDR pour des raisons historiques. (Certains programmeurs Common Lisp préfèrent se référer à eux en utilisant la première et REST fonctions, tandis que d'autres comme la RCA et de la CDR parce qu'ils cadrent bien avec les versions précomposés telles que (CADR x) ≡ (CAR (CDR x)).

La plaisanterie est une parodie des autocollants que vous voyez parfois sur de vieilles voitures déglingués en disant: « Mon autre voiture est une Porsche / BMW / etc. »

Mon à cette blague a toujours été « Mon autre voiture est un CADR. CDR est pas une voiture du tout. "

Autres conseils

Oui, sans aucun doute une blague de geek.

Les noms proviennent de l'IBM 704, mais ce n'est pas la plaisanterie.

La blague est (mauvais) jeu de mots sur « mon autre voiture est un ___. » Mais la blague en est sur le point récursivité.

Lorsque vous bouclez / manipuler / select / invoquez / plus Lisp vous utilisez une combinaison de voiture (le premier élément dans la liste) et cdr (le reste de la liste) à jongler avec les fonctions.

Donc, vous avez une voiture, mais votre autre voiture est votre cdr parce que vous pouvez toujours obtenir une voiture d'un cdr depuis le cdr est toujours (en récursivité) plus d'éléments. Tu piges? Rire encore?

Vous aurez probablement à apprendre Lisp fait rire un peu, ou non. Bien sûr, d'ici là, vous trouverez probablement vous ricanant au hasard, sans raison apparente parce que:

Lisp vous fait loufoque.

// venant de schéma
Schéma a très peu de structures de données, l'un d'eux est un tuple: '(first . second). Dans ce cas, car est le premier élément, et le second est cdr. Cette construction peut être étendu pour créer des listes, des arbres et d'autres structures.
La plaisanterie est pas très drôle.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top