Spec-Zone.ru › Elisp

Типы последовательностей

Последовательность — это объект Lisp, представляющий упорядоченный набор элементов. В Emacs Lisp существует два типа последовательностей: списки и массивы.

Списки являются наиболее часто используемыми последовательностями. Список может содержать элементы любого типа, и его длина может быть легко изменена путем добавления или удаления элементов. Подробнее о списках см. следующий подраздел.

Массивы — это последовательности фиксированной длины. Они подразделяются на строки, векторы, таблицы символов и векторы булевых значений. Векторы могут содержать элементы любого типа, тогда как элементы строк должны быть символами, а элементы векторов булевых значений должны быть t или nil. Таблицы символов похожи на векторы, за исключением того, что они индексируются любым допустимым кодом символа. Символы в строке могут иметь свойства текста, аналогичные символам в буфере (см. Свойства текста), но векторы не поддерживают свойства текста, даже если их элементы оказываются символами.

Списки, строки и другие типы массивов также обладают важными общими чертами. Например, все они имеют длину l, и все элементы могут быть индексированы от нуля до l минус один. Несколько функций, называемых функциями последовательностей, принимают любой тип последовательности. Например, функция length сообщает длину любого типа последовательности. См. Последовательности Массивы Векторы.

Обычно невозможно дважды прочитать одну и ту же последовательность, так как последовательности всегда создаются заново при чтении. Если вы дважды прочитаете синтаксис чтения последовательности, вы получите две последовательности с одинаковым содержимым. Существует одно исключение: пустой список () всегда обозначает один и тот же объект, nil.

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/Sequence-Type.html

Spec-Zone.ru

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