Для доступа к элементам массива обычно используется функция aref. В отдельных случаях может быть более эффективно использование других функций, таких как svref, char и bit.
Данная функция возвращает элемент массива array, который задан индексами subscripts. Количество индексов должно совпадать с рангом массива, и каждый индекс должен быть неотрицательным целым числом меньшим чем соответствующий размер измерения.
aref отличается от остальных функций тем, что полностью игнорирует указатели заполнения. aref может получать доступ к любому элементу массива, вне зависимости является он активным или нет. Однако общая функция для последовательностей elt учитывает указатель заполнения. Доступ к элементам за указателем заполнение с помощью elt является ошибкой.
Для изменения элемента массива может использоваться setf в связке с aref.
В некоторых случаях, удобно писать код, который получает элемент из массива, например a, используя список индексов, например z. Это легко сделать используя apply:
(Длина списка, конечно же, должна быть равна рангу массива.) Эта конструкция может использоваться с setf для изменения элемента массива на, например, w:
Первый аргумент должен быть простым базовым вектором, то есть
объектом типа simple-vector. В результате возвращается элемент вектора
simple-vector с индексом index.
index
Для изменения элемента вектора может использоваться setf в связке с svref.
svref идентична aref за исключением того, что требует, чтобы первый аргумент был простым вектором. В некоторых реализациях Common Lisp’а, svref может быть быстрее чем aref в тех случаях, где она применима. Смотрите также schar и sbit