Function ARRAY-DISPLACEMENT
array-displacement
array => displaced-to, displaced-index-offset
array - 配列
displaced-to - 配列か、nil
displaced-index-offset - 非負のfixnum
もしarrayがdisplaced
の配列のとき、 その配列の:displaced-to
と:displaced-index-offset
オプションのものが返却されます (関数make-array
とadjust-array
をご確認ください)。 もしarrayがdisplaced
の配列ではないとき、 nil
と0
が返却されます。
もしarray-displacement
が make-array
かadjust-array
の :displaced-to
引数としてnil
ではない オブジェクトが指定されたarrayで呼ばれたとき、 それは最初の値にそのオブジェクトを返却しなければなりません。 array-displacement
がarray以外の何かに対して、 nil
ではない主値を返却するかどうかは 実装依存です。
setq a1 (make-array 5)) => #<ARRAY 5 simple 46115576>
(setq a2 (make-array 4 :displaced-to a1
(:displaced-index-offset 1))
=> #<ARRAY 4 indirect 46117134>
array-displacement a2)
(=> #<ARRAY 5 simple 46115576>, 1
setq a3 (make-array 2 :displaced-to a2
(:displaced-index-offset 2))
=> #<ARRAY 2 indirect 46122527>
array-displacement a3)
(=> #<ARRAY 4 indirect 46117134>, 2
なし。
もしarrayが配列ではないとき、型type-error
のエラーが発生します。
なし。