Что означает "мой другой автомобиль-cdr"?


может ли кто-нибудь хорошо разбирающийся в шепелявости объяснить мне эту шутку? Я немного читал о функциональных языках программирования и знаю, что CAR/CDR означает содержимое регистра адреса/декремента, но я все еще не очень понимаю юмор.

3 86

3 ответа:

в Lisp элемент связанного списка называется минусом. Это структура данных с двумя элементами, называемая автомобилем и CDR по историческим причинам. (Некоторые программисты Common Lisp предпочитают ссылаться на них, используя функции FIRST и REST, в то время как другие, такие как CAR и CDR, потому что они хорошо сочетаются с предварительно составленными версиями, такими как (CADR x) ≡ (CAR (CDR x)).

шутка-это пародия на наклейки на бампер, которые вы иногда видите на избитых старых автомобилях, говоря: "моя другая машина-это Porsche / BMW / etc."

мой ответ к этой шутке всегда было "моя другая машина-CADR. CDR-это вообще не машина."

Да, определенно выродок шутка.

имена приходят из IBM 704, но это не шутка.

шутка (плохой) каламбур на "мой другой автомобиль-это ___.- Но в анекдоте речь идет о рекурсии.

при циклическом / манипулировании/выборе/вызове / more в lisp вы используете комбинацию car (первый элемент в списке) и cdr (остальная часть списка) для жонглирования функциями.

Итак, у вас есть автомобиль, но ваш другой автомобиль-это ваш cdr, потому что вы всегда можете получить автомобиль из cdr, так как cdr всегда (в рекурсии) больше элементов. Получить его? Уже смеешься?

вам, вероятно, придется научиться шепелявить, чтобы на самом деле немного посмеяться, или нет. Конечно, к тому времени вы, вероятно, обнаружите, что случайно смеетесь без видимой причины, потому что:

шепелявость делает вас петлей.

/ / исходя из схемы
Схема имеет очень мало структур данных, одна из них-кортеж:'(first . second). В этом случае car это первый элемент, а cdr - второй. Эта конструкция может быть расширена для создания списков, деревьев и других структур.
Шутка не очень смешная.