문제

Lisp에 정통한 사람이 나 에게이 농담을 설명 할 수 있습니까? 나는 기능 프로그래밍 언어에 대한 일부를 읽었으며 CAR/CDR은 주소/감소 레지스터의 내용을 의미하지만 여전히 유머를 이해하지 못한다는 것을 알고 있습니다.

도움이 되었습니까?

해결책

LISP에서 링크 된 목록 요소를 단점이라고합니다. 역사적 이유로 자동차와 CDR이라는 두 가지 요소가있는 데이터 구조입니다. (일부 일반적인 LISP 프로그래머는 첫 번째 및 REST 기능을 사용하여 그들을 참조하는 것을 선호하는 반면, 다른 하나는 자동차와 CDR을 좋아합니다. (CADR X) ≡ (CAR (CDR X))와 같은 사전 버전과 잘 맞기 때문입니다.

농담은 "내 다른 차는 포르쉐/BMW/등"이라고 말하는 구타 낡은 자동차에서 때때로 볼 수있는 범퍼 스티커의 패러디입니다.

나의 응답 이 농담은 항상 "내 다른 차는 간부입니다. CDR은 전혀 차가 아닙니다."

다른 팁

예, 확실히 괴짜 농담.

이름은 IBM 704에서 나왔지만 농담은 아닙니다.

농담은 "내 다른 차는 ___입니다." 그러나 인간은 재귀에 관한 것입니다.

LISP에서 루프/조작/선택/호출/더 많은 경우 자동차 (목록의 첫 번째 요소)와 CDR (나머지 목록)의 조합을 사용하여 기능을 저글링합니다.

따라서 자동차가 있지만 CDR이 항상 더 많은 요소이기 때문에 CDR에서 항상 자동차를 얻을 수 있기 때문에 다른 자동차는 CDR입니다. 그것을 얻으시겠습니까? 아직 웃어?

당신은 아마도 실제로 약간 삐걱 거리는 것인지에 대해 LISP를 배워야 할 것입니다. 물론, 그때까지, 당신은 아마도 명백한 이유없이 무작위로 멍청 할 것입니다.

LISP는 당신을 루피로 만듭니다.

// 체계에서 온다
체계는 데이터 구조가 거의 없으며 그 중 하나는 튜플입니다. '(first . second). 이 경우 car 첫 번째 요소입니다 cdr 두 번째입니다. 이 구성은 목록, 나무 및 기타 구조물을 만들기 위해 확장 될 수 있습니다.
농담은 그다지 재미 있지 않습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top