Функции для работы с массивами
В этом разделе описаны функции, принимающие массивы всех типов.
- Функция: arrayp object
-
Эта функция возвращает
t, если object является массивом (то есть вектором, строкой, булевым вектором или таблицей символов).(arrayp [a]) ⇒ t (arrayp "asdf") ⇒ t (arrayp (syntax-table)) ;; A char-table. ⇒ t
- Функция: aref arr index
-
Эта функция возвращает элемент массива или записи arr с индексом index. Индекс первого элемента равен нулю.
(setq primes [2 3 5 7 11 13]) ⇒ [2 3 5 7 11 13] (aref primes 4) ⇒ 11(aref "abcdefg" 1) ⇒ 98 ; ‘b’ is ASCII code 98.См. также функцию
eltв разделе Последовательности.
- Функция: aset array index object
-
Эта функция устанавливает элемент array с индексом index равным object. Она возвращает object.
(setq w (vector 'foo 'bar 'baz)) ⇒ [foo bar baz] (aset w 0 'fu) ⇒ fu w ⇒ [fu bar baz];;copy-sequencecopies the string to be modified later. (setq x (copy-sequence "asdfasfd")) ⇒ "asdfasfd" (aset x 3 ?Z) ⇒ 90 x ⇒ "asdZasfd"Массив array должен быть изменяемым. См. Изменяемость.
Если array — строка, а object не является символом, возникает ошибка
wrong-type-argument. Подробнее об изменении строк см. в разделе Изменение строк.
- Функция: fillarray array object
-
Эта функция заполняет массив array значением object, так что каждый элемент array равен object. Она возвращает array.
(setq a (copy-sequence [a b c d e f g])) ⇒ [a b c d e f g] (fillarray a 0) ⇒ [0 0 0 0 0 0 0] a ⇒ [0 0 0 0 0 0 0](setq s (copy-sequence "When in the course")) ⇒ "When in the course" (fillarray s ?-) ⇒ "------------------"Если array — строка, а object не является символом, возникает ошибка
wrong-type-argument.
Общие функции для работы с последовательностями copy-sequence и length часто полезны для объектов, которые заведомо являются массивами. См. Последовательности.
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/Array-Functions.html