Accessor AREF

UP


Accessor AREF

Accessor AREF

構文

aref array &rest subscripts => element
(setf (aref array &rest subscripts) new-element)

引数と戻り値

array - 配列
subscripts - arrayの有効な配列のインデックスのリスト
element, new-element - オブジェクト

定義

subscriptsによって指定されたarrayの要素にアクセスします。 もしsubscriptsが指定されず、 arrayがゼロランクのときは、 arefarrayの唯一の要素にアクセスします。

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. コンパイラーの用語

備考

なし。


TOP, Github