Spec-Zone.ru › Elisp

Последовательности, массивы и векторы

Тип последовательность представляет собой объединение двух других типов Lisp: списков и массивов. Иными словами, любой список является последовательностью, как и любой массив. Общее свойство всех последовательностей заключается в том, что каждая из них представляет собой упорядоченную коллекцию элементов.

Массив — это объект фиксированной длины, в котором для каждого элемента предусмотрен слот. Доступ ко всем элементам осуществляется за постоянное время. Существует четыре типа массивов: строки, векторы, символьные таблицы и булевы векторы.

Список — это последовательность элементов, но не единый примитивный объект: он состоит из конс-ячеек, по одной на каждый элемент. Чтобы найти n-й элемент, требуется просмотреть n конс-ячеек, поэтому доступ к элементам, расположенным дальше от начала списка, занимает больше времени. Однако в список можно добавлять элементы и удалять их.

На следующей схеме показаны связи между этими типами:

          _____________________________________________
         |                                             |
         |          Sequence                           |
         |  ______   ________________________________  |
         | |      | |                                | |
         | | List | |             Array              | |
         | |      | |    ________       ________     | |
         | |______| |   |        |     |        |    | |
         |          |   | Vector |     | String |    | |
         |          |   |________|     |________|    | |
         |          |  ____________   _____________  | |
         |          | |            | |             | | |
         |          | | Char-table | | Bool-vector | | |
         |          | |____________| |_____________| | |
         |          |________________________________| |
         |_____________________________________________|
  • Последовательности
  • Массивы
  • Функции для работы с массивами
  • Векторы
  • Функции для работы с векторами
  • Символьные таблицы
  • Булевы векторы
  • Управление кольцевым буфером объектов фиксированного размера

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

Spec-Zone.ru

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