Эта страница представляет собой справочник по встроенным функциям, которые создают списки или манипулируют ими в Лиспексе. Эти функции дополняют функции, описанные в справочнике по основным функциям.
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
Возвращает элемент по указанному индексу (начиная с нуля) в списке.
- Синтаксис:
(nth LIST INDEX) - Аргументы:
LIST: Список, из которого нужно получить элемент.INDEX: Целочисленный индекс извлекаемого элемента (начиная с 0).- Возвращает: Элемент по указанному индексу.
- Выбрасывает:
RuntimeError, еслиLISTне является списком илиINDEXне является целым числом.RuntimeError, еслиINDEXнаходится за пределами допустимого диапазона (меньше 0 или больше либо равен длине списка).
Пример:
(define my-list (list "a" "b" "c"))
(nth my-list 0)
;; Результат: "a"
(nth my-list 2)
;; Результат: "c"
(nth my-list 3)
;; Выбрасывает RuntimeError: Индекс 3 вне допустимого диапазона