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のエラーが発生します。
なし。