Scheme에서 목록을 만들 때 마지막 쌍의 cdr은 무엇을 가리 킵니까? '빈 단어'또는 '빈 목록'입니까? 박사 과정은 (cons 'a empty)
이나 (cons 'a '())
은 아닙니다. 마지막으로 빈 단어와 빈 목록의 차이점은 무엇입니까?목록에서 Scheme의 마지막 요소는 무엇을 가리 킵니까?
1
A
답변
4
DrScheme, 당신의 cons
-ing 마음을하지 않습니다. 참조 번호
즉, cons
은 쌍을 만듭니다. 이 목록은하지 않은
> (cons 1 2)
(1 . 2)
을 할 수도 완벽하게 합법적이다,하지만 여전히 할 수있는 당신은 어쨌든
> (car (cons 1 2))
1
> (cdr (cons 1 2))
2
단, "빈 말"과 "빈 목록"을 수행 같은 객체 , 확인할 수있는대로
> (eq? empty '())
#t
1
마지막 쌍의 cdr은 빈 목록 인 '()'을 가리 킵니다.
1
기호 empty
을 평가하면 모든 질문에 대한 답을 찾을 수 있습니다. 빈 목록 인 '()
과 같은 것으로 정의되며 마지막 cdr이 가리키는 내용입니다. 자신을 설득하려면 다음을 수행하십시오 cons
그냥 목록을 구축보다 더 많은 일을 할 수 있기 때문에
(cdr (list 1 2 3))
(cdr (cdr (list 1 2 3)))
(cdr (cdr (cdr (list 1 2 3))))
+0
그것은 내 질문의 일부에 답해 주지만, 나는 방금 cdr이 비어 있음을 가리킬 필요가 없다는 것을 깨달았다. 나는 (b .d)와 같은 부적절한 목록을 가질 수 있습니다. 어쨌든 고마워. – unj2
관련 문제
- 1. Creediting이 iTunes 계정을 가리 킵니까?
- 2. 어떻게 도메인 이름을 장고 URL로 가리 킵니까?
- 3. 왜 아파치는/var/www를 가리 킵니까?
- 4. 마지막 요소는 반복
- 5. JVM 명령어 'main'메소드의 ALOAD_0이 'this'대신 'args'를 가리 킵니까?
- 6. Visio의 서버 연결 다이어그램 - 화살표는 어떤 방향을 가리 킵니까?
- 7. 시퀀스가 왼쪽에서 오른쪽으로 평가 순서가있는 언어를 가리 킵니까?
- 8. 작업 단위 (UOW)가 서비스 계층 또는 저장소를 가리 킵니까?
- 9. 왜 Tomcat STDOUT은 항상/dev/null을 가리 킵니까?
- 10. 도메인 마스킹/웹 응용 프로그램의 디렉토리를 가리 킵니까?
- 11. Netbeans 빌드에 실패했습니다 (어떻게 새 Plugin을 가리 킵니까?)
- 12. 일치 목록에서 마지막 노드 선택
- 13. 실버 StackPanel의 방향 가로 마지막 요소는 이런 시나리오
- 14. 각 목록에서 마지막 쉼표 구분 기호 제거
- 15. 병렬화를 지원하는 Scheme의 VM
- 16. Lisp에서 Scheme의 매크로 알아보기
- 17. Scheme의 다차원 벡터?
- 18. Scheme의 Identity 함수
- 19. Scheme의 연속 (call/cc)
- 20. 메모리 주소는 무엇을 의미합니까?
- 21. 크기가 알려지지 않은 순환 링크 된 목록의 마지막 노드를 찾고 마지막 노드는 링크 된 목록의 첫 번째 노드를 제외한 다른 노드를 가리 킵니다
- 22. 응용 프로그램을 종료하지 않을 경우 auto_ptr 누출로 인해 메모리가 가리 킵니까?
- 23. 공회전시 Windows 콘솔 응용 프로그램이 누출되는 이유는 무엇입니까? (그리고 왜 smoke gun은 kernel32.dll을 가리 킵니까?)
- 24. Apple App Store의 응용 프로그램 업로드 단계에서 어떤 파일이나 디렉토리를 가리 킵니까?
- 25. event.target이 하위 요소를 가리 킵니다
- 26. sockaddr_in이 segfault를 일으 킵니까?
- 27. mysql_real_escape_string이 문제를 일으 킵니까?
- 28. ActiveMQ 메시지 ID의 마지막 숫자는 무엇을 나타내는가?
- 29. 어소시에이션리스트를 사용하는 Scheme의 함수 테이블
- 30. Gambit-C Scheme의 stdout은 무엇입니까?
왜 (비어 있음) 작동합니까? – unj2
모든 목록은 길이가 각각 2 인 일련의 목록으로 구성됩니다. 예를 들어, (1 2 3)은 실제로 길이가 2 인 목록입니다. 첫 번째 항목은 1이고 두 번째 항목은 (2 3)입니다. 이 내부 목록은 길이 2의 목록이기도합니다. 첫 번째 항목은 2이고 두 번째 항목은 (3)입니다. 두 번째 항목은 실제로 두 항목 목록입니다. 첫 번째 항목은 3이고 두 번째 항목은()입니다. cons ('a'())는 실제로 ('a.'())이기 때문에 ('a)를 반환합니다. –