Spec-Zone.ru › Elisp

Функции для векторов

Вот некоторые функции, относящиеся к векторам:

Функция: vectorp объект

Эта функция возвращает t если объект является вектором.

(vectorp [a])
     ⇒ t
(vectorp "asdf")
     ⇒ nil
Функция: vector &rest объекты

Эта функция создает и возвращает вектор, элементы которого являются аргументами объекты.

(vector 'foo 23 [bar baz] "rats")
     ⇒ [foo 23 [bar baz] "rats"]
(vector)
     ⇒ []
Функция: make-vector длина объект

Эта функция возвращает новый вектор, состоящий из длина элементов, каждый из которых инициализирован значением объект.

(setq sleepy (make-vector 9 'Z))
     ⇒ [Z Z Z Z Z Z Z Z Z]
Функция: vconcat &rest последовательности

Эта функция возвращает новый вектор, содержащий все элементы последовательности. Аргументы последовательности могут быть правильными списками, векторами, строками или булевыми векторами. Если последовательности не указаны, возвращается пустой вектор.

Значение либо пустой вектор, либо новый сконструированный непустой вектор, не 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)]

Функция также позволяет использовать в качестве аргументов объекты функций байткода. Это специальная функция, которая позволяет легко получить доступ ко всему содержимому объекта функции байткода. См. Объекты байткода.

Для других функций конкатенации см. 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])

Copyright © 1990-1996, 1998-2022 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Vector-Functions.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API