Ниже приведены некоторые функции, связанные с векторами:
Эта функция возвращает t, если object является вектором.
(vectorp [a])
⇒ t
(vectorp "asdf")
⇒ nil
Эта функция создает и возвращает вектор, элементы которого — это аргументы, objects.
(vector 'foo 23 [bar baz] "rats")
⇒ [foo 23 [bar baz] "rats"]
(vector)
⇒ []
Эта функция возвращает новый вектор, состоящий из length элементов, каждый из которых инициализирован значением object.
(setq sleepy (make-vector 9 'Z))
⇒ [Z Z Z Z Z Z Z Z Z]
Эта функция возвращает новый вектор, содержащий все элементы sequences. Аргументы sequences могут быть обычными списками, векторами, строками или булевыми векторами. Если не передается ни одного sequences, возвращается пустой вектор.
Возвращаемое значение либо пустой вектор, либо новый непустой
вектор, который не равен eq какому-либо существующему
вектору.
(setq a (vconcat '(A B C) '(D E F)))
⇒ [A B C D E F]
(eq a (vconcat a))
⇒ nil
(vconcat)
⇒ []
(vconcat [A B C] "aa" '(foo (6 7)))
⇒ [A B C 97 97 foo (6 7)]
Функция vconcat также позволяет использовать объекты
байтового кода в качестве аргументов. Это специальная функция, которая
облегчает доступ ко всему содержимому объекта байтового кода. См.
Объекты функций замыкания.
Для других функций конкатенации см. mapconcat в
Функции отображения, concat
в Создание строк и append
в Построение конс-ячеек и списков.
Функция append также предоставляет способ преобразования
вектора в список с теми же элементами:
(setq avector [1 two (quote (three)) "four" [five]])
⇒ [1 two '(three) "four" [five]]
(append avector nil)
⇒ (1 two '(three) "four" [five])