Type SIMPLE-ARRAY
この型の配列は、他の配列へのdisplaced
ではなく、 fill-pointerを持っておらず、adjustable
でもないものが、 型simple-array
のサブタイプです。 simple-array
の考え方は、 実装が特別な表現を使用できるようにするためと、 ユーザーが特定の値を常にsimple-array
にすることを 宣言できるようにするために存在します。
simple-vector
, simple-string
, simple-bit-vector
の型は、 互いに素であり、型simple-array
のサブタイプです。 これらは、それぞれ(simple-array t (*))
、 (simple-array c (*))
のc
は型character
のサブタイプの何か、 (simple-array bit (*))
を意味します。
特定化
simple-array
[{
element-type |
*}
[dimension-spec]]
dimension-spec::= rank | * | ({dimension | *}*)
dimension - 有効な配列の大きさ
element-type - 型指定子
rank - 非負のfixnum
この合成された型指定子は、 正確に型array
の合成された型指定子に 対応するものとして扱われますが、 これはsimple-array
のみ含まれるという より制約がある集合であることが違っています。
displaced
の配列か、fill-pointerを持つvector
か、 実際にadjustable
な配列が、simple-array
かどうかは 実装依存です。
(simple-array *)
は要素の型によらず全てのsimple-array
を参照し、 (simple-array type-specifier)
は make-array
の:element-type
引数として指定されたtype-specifierの 結果のsimple-array
のみを参照します。