이 페이지는 리스펙스에서 리스트를 생성하거나 조작하는 내장 함수에 대한 참조를 제공합니다. 이 함수들은 핵심 함수 참조에 있는 함수들을 보완합니다.
cons
기존 리스트의 앞에 요소를 추가하여 새 리스트를 구성합니다. "Cons"는 "construct(구성하다)"의 줄임말입니다.
- 구문:
(cons ELEMENT LIST) - 인자:
ELEMENT: 앞에 추가할 새 요소.LIST: 요소가 추가될 기존 리스트.
- 반환: 새 리스트.
- 오류: 두 번째 인자가 리스트가 아니면
RuntimeError를 발생시킵니다.
예시:
(cons 1 (list 2 3 4))
;; 결과: (list 1 2 3 4)
(cons (list "a") (list "b" "c"))
;; 결과: (list (list "a") "b" "c")
append
두 리스트를 함께 이어 붙여 하나의 새 리스트를 생성합니다.
- 구문:
(append LIST_1 LIST_2) - 인자:
LIST_1: 첫 번째 리스트.LIST_2: 두 번째 리스트.
- 반환:
LIST_1의 모든 요소 다음에LIST_2의 모든 요소가 오는 새 리스트. - 오류: 어느 한쪽 인자라도 리스트가 아니면
RuntimeError를 발생시킵니다.
예시:
(append (list 1 2) (list 3 4))
;; 결과: (list 1 2 3 4)
(append (list) (list 1 2))
;; 결과: (list 1 2)
nth
리스트에서 특정 0 기반 인덱스에 있는 요소를 반환합니다.
- 구문:
(nth LIST INDEX) - 인자:
LIST: 요소를 검색할 리스트.INDEX: 검색할 요소의 정수 인덱스 (0부터 시작).
- 반환: 지정된 인덱스의 요소.
- 오류:
LIST가 리스트가 아니거나INDEX가 정수가 아니면RuntimeError를 발생시킵니다.INDEX가 범위를 벗어나면(0보다 작거나 리스트 길이보다 크거나 같으면)RuntimeError를 발생시킵니다.
예시:
(define my-list (list "a" "b" "c"))
(nth my-list 0)
;; 결과: "a"
(nth my-list 2)
;; 결과: "c"
(nth my-list 3)
;; RuntimeError 발생: 인덱스 3이 범위를 벗어남