Что означает фраза «Моя другая машина — CDR»?

StackOverflow https://stackoverflow.com/questions/1864795

  •  16-09-2019
  •  | 
  •  

Вопрос

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

Это было полезно?

Решение

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

Шутка представляет собой пародию на наклейки на бамперы, которые иногда можно увидеть на потрепанных старых машинах, с надписью: «Моя другая машина — Porsche/BMW/и т. д.».

Мой ответ на эту шутку всегда было: «Другая моя машина — CADR.CDR – это вообще не АВТОМОБИЛЬ».

Другие советы

Да, определенно идиотская шутка.

Названия взяты от IBM 704, но это не шутка.

Шутка (плохое) каламбур на «Моя другая машина - это ___». Но шутка о рекурсии.

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

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

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

Лисп сводит вас с ума.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top