Accessor AREF
aref array &rest subscripts => element
(setf (aref array &rest subscripts) new-element)
array - 配列
subscripts - arrayの有効な配列のインデックスのリスト
element, new-element - オブジェクト
subscriptsによって指定されたarrayの要素にアクセスします。 もしsubscriptsが指定されず、 arrayがゼロランクのときは、 arefはarrayの唯一の要素にアクセスします。
arefはfill-pointerを無視します。 arefはアクティブかそうでないかに関わらず、 arrayの要素にアクセスするときに使用できます。
もし変数fooが3×5の配列に束縛されているとき、 最初のインデックスは0, 1, 2を指定でき、 2番目のインデックスは0, 1, 2, 3, 4を指定できます。 この配列の要素はaref関数を使用することによって参照できます。 例えば(aref foo 2 1)は、(2, 1)の配列の要素を参照します。
(aref (setq alpha (make-array 4)) 3) => implementation-dependent
(setf (aref alpha 3) 'sirens) => SIRENS
(aref alpha 3) => SIRENS
(aref (setq beta (make-array '(2 4)
:element-type '(unsigned-byte 2)
:initial-contents '((0 1 2 3) (3 2 1 0))))
1 2) => 1
(setq gamma '(0 2))
(apply #'aref beta gamma) => 2
(setf (apply #'aref beta gamma) 3) => 3
(apply #'aref beta gamma) => 3
(aref beta 0 2) => 3なし。
なし。
bit, char, elt, row-major-aref, svref, 3.2.1. コンパイラーの用語
なし。