Функции, работающие с массивами
В этом разделе описаны функции, принимающие массивы всех типов.
- Функция: arrayp объект
-
Эта функция возвращает
tесли объект является массивом (т.е., вектором, строкой, вектором bool или таблицей char).(arrayp [a]) ⇒ t (arrayp "asdf") ⇒ t (arrayp (syntax-table)) ;; A char-table. ⇒ t
- Функция: aref массив индекс
-
Эта функция возвращает элемент массива или записи массив с индексом индекс. Первый элемент имеет индекс ноль.
(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 массив индекс объект
-
Эта функция устанавливает элемент массива с индексом индекс в значение объект. Возвращает объект.
(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"Массив должен быть изменяемым. См. Изменяемость.
Если массив является строкой, а объект не является символом, возникает ошибка
wrong-type-argument. Функция преобразует однобайтовую строку в многобайтовую, если необходимо, для вставки символа.
- Функция: fillarray массив объект
-
Эта функция заполняет массив массив значением объект, так что каждый элемент массива массив становится равным объекту. Возвращает массив.
(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 ?-) ⇒ "------------------"Если массив является строкой, а объект не является символом, возникает ошибка
wrong-type-argument.
Общие функции для последовательностей copy-sequence и length часто полезны для объектов, известных как массивы. См. Функции для последовательностей.
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/Array-Functions.html