수색…
소개
Pair는 체계에서 가장 기본적인 데이터 유형 중 하나입니다. 또한 일반적으로 죄수라고합니다.
쌍 만들기
페어는 cons 함수로 생성 할 수 있습니다. 함수의 이름은 생성자를 나타 냅니다. Scheme에서는 모든 것이 쌍을 기반으로합니다.
(cons a b)
함수는 요소 a 와 b 포함하는 쌍을 반환합니다. cons 의 첫 번째 매개 변수는 car (Content Address Register)이고 두 번째 인수는 cdr (Content Decrement Register)입니다.
쌍의 차에 액세스하십시오.
쌍의 데이터는 유틸리티 기능으로 액세스 할 수 있습니다. car 액세스하려면 car 기능을 사용해야합니다.
(car (cons a b))
> a
또한 다음 등식을 검증 할 수 있습니다.
(eq? a (car (cons a b)))
> #t
쌍의 cdr에 액세스하십시오.
cdr에 액세스하려면 cdr 함수를 사용해야합니다.
(cdr (cons ab))
비
또한 다음 등식을 검증 할 수 있습니다.
(eq? b (cdr (cons ab)))
#티
쌍으로 목록 만들기
목록 구성표는 cons 의 cdr 에서 서로 중첩 된 일련의 쌍들 이외에는 아무 것도 없습니다. 그리고 적절한 목록의 마지막 cdr 은 빈 목록 '() 입니다.
목록 (1 2 3 4) 을 만들려면 다음과 같이하면됩니다.
(cons 4 '())
> (4)
(cons 3 (cons 4 '()))
> (3 4)
(cons 2 (cons 3 (cons 4 '())))
> (2 3 4)
(cons 1 (cons 2 (cons 3 (cons 4 '()))))
> (1 2 3 4)
보시다시피, scheme의 목록은 쌍으로 만들어진 연결된 목록입니다. 따라서 목록 앞에 객체를 추가하는 데는 거의 시간이 걸리지 않지만 목록 끝에 요소를 추가하면 통역사가 전체 목록을 가로 지르게됩니다.
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow