리스트와 집합 프로시저

리스트, 쌍, 벡터, 바이트벡터는 올바른 리스트 조건과 인덱스, 동일성, 변경 경계를 분명히 정해 둡니다.

실행으로 확인하기

LISPEX
(list (list-ref (list 10 20 30) 1) (vector-ref #(4 5) 0))

관측 결과

OUTPUT
(20 4)

이 순서로 생각하세요

  • 리스트 접근·검색에는 c...r 계열, list-ref, list-tail, member·assoc 변형, 복사, 연결, 뒤집기, 생성자가 있습니다.
  • 벡터는 생성, 접근, 복사, 매핑, vector-set!을 제공합니다. 바이트벡터는 이 프로필에서 읽기 전용입니다.
  • 잘못된 쌍·리스트 도메인은 E310, 잘못된 인덱스·범위는 E311, 잘못된 기본 타입은 E312입니다.

집합 시그니처

시그니처결과 / 동일성오류
(cons a d)새 쌍없음
(car pair) / (cdr pair)저장 요소E310 비쌍
(list-ref proper-list k)k번째 요소E312 비정수, E311 범위, E310 끝이 제대로 맺히지 않은 리스트
(vector-ref vector k) / (vector-set! vector k value)요소 / 0개 값, 벡터 동일성 유지E312 타입, E311 범위
(bytevector-u8-ref bytevector k)정확 정수 0..255E312 타입, E311 범위

흔한 오해

쌍과 바이트벡터의 변경자는 아직 보류되어 있습니다. 인용한 집합은 바꿀 수 없습니다.

다음으로

어떤 집합 값이 있고 그중 무엇을 바꿀 수 있는지는 매뉴얼에 있고, 이 이름들이 다른 계열과 어떻게 나뉘는지는 색인에 있습니다.

데이터와 집합 타입 · 프로시저 색인