핵심 함수: 언어의 맥박

리스펙스를 구성하는 가장 기본적인 함수들입니다. 이 함수들을 조합하여 복잡한 로직을 만들고 데이터에 생명을 불어넣으세요. 모든 위대한 여정은 이 작은 첫걸음들로 시작됩니다.

이 페이지는 리스펙스의 가장 기본적인 내장 함수에 대한 참조를 제공합니다. 이 함수들은 기본 데이터 검사 및 조작에 필수적입니다.


first

리스트의 첫 번째 요소를 반환합니다.

  • 구문: (first LIST)
  • 인자:
    • LIST: 첫 번째 요소를 가져올 리스트. 비어 있으면 안 됩니다.
  • 반환: 리스트의 첫 번째 요소.
  • 오류: 리스트가 비어 있으면 RuntimeError를 발생시킵니다.

예시:

(first (list 10 20 30))
;; 결과: 10

(first (list "a" "b" "c"))
;; 결과: "a"

rest

첫 번째 요소를 제외한 모든 요소를 포함하는 새 리스트를 반환합니다.

  • 구문: (rest LIST)
  • 인자:
    • LIST: 처리할 리스트.
  • 반환: 나머지 요소를 포함하는 새 리스트. 원본 리스트가 비어 있거나 요소가 하나만 있는 경우, 빈 리스트를 반환합니다.
  • 오류: 인자가 리스트가 아니면 RuntimeError를 발생시킵니다.

예시:

(rest (list 10 20 30))
;; 결과: (list 20 30)

(rest (list 10))
;; 결과: (list)

(rest (list))
;; 결과: (list)

empty?

리스트가 비어 있는지 확인합니다.

  • 구문: (empty? LIST)
  • 인자:
    • LIST: 확인할 리스트.
  • 반환: 리스트에 요소가 없으면 #t, 그렇지 않으면 #f를 반환합니다.
  • 오류: 인자가 리스트가 아니면 RuntimeError를 발생시킵니다.

예시:

(empty? (list))
;; 결과: #t

(empty? (list 1 2))
;; 결과: #f

length

리스트에 있는 요소의 개수를 반환합니다.

  • 구문: (length LIST)
  • 인자:
    • LIST: 길이를 측정하려는 리스트.
  • 반환: 리스트의 요소 개수를 나타내는 정수.
  • 오류: 인자가 리스트가 아니면 RuntimeError를 발생시킵니다.

예시:

(length (list 10 20 30))
;; 결과: 3

(length (list))
;; 결과: 0

list?

주어진 값이 리스트인지 확인합니다.

  • 구문: (list? VALUE)
  • 인자:
    • VALUE: 확인할 값.
  • 반환: 값이 리스트이면 #t, 그렇지 않으면 #f를 반환합니다. 이 함수는 오류를 발생시키지 않습니다.

예시:

(list? (list 1 2))
;; 결과: #t

(list? 123)
;; 결과: #f

(list? "hello")
;; 결과: #f