npt-japanese

% Accessor SUBSEQ

UP


Accessor SUBSEQ

Accessor SUBSEQ

構文

subseq sequence start &optional end => subsequence
(setf (subseq sequence start &optional end) new-subsequence)

引数と戻り値

sequence - 正常なシーケンス
start, end - sequenceの境界インデックス指定子。 デフォルトはstart, endそれぞれ0nil
subsequence - 正常なシーケンス
new-subsequence - 正常なシーケンス

定義

subseqは、 sequencestartendの境界内の サブシーケンスのコピーを作成します。

startは元のsequenceのオフセットであり、 サブシーケンスの開始の位置の印であり、 endは最後の要素に続く位置の印です。

subseqは常に結果のシーケンスを新しく確保します。 古いシーケンスのストレージを共有することはありません。 返却値のサブシーケンスは、常にsequenceと同じ型です。

もしsequencevectorのとき、 返却値は一次元の新しいsimple-arrayであり、 sequenceと同じ実際の配列の要素の型を持ちます。 もしsequenceがリストのときは、返却値は新しいリストです。

setfsubseqは、 サブシーケンスの要素を新しい値として受け取ったシーケンスの要素に、 破壊的に置き換えを行います。 もしサブシーケンスと新しいシーケンスが同じ長さではないとき、 短い方の長さが置換の要素数になります。 長い方のシーケンスの終わりの位置にある残りの要素は、 この操作では修正されません。

例文

(setq str "012345") =>  "012345"
(subseq str 2) =>  "2345"
(subseq str 3 5) =>  "34"
(setf (subseq str 4) "abc") =>  "abc"
str =>  "0123ab"
(setf (subseq str 0 2) "A") =>  "A"
str =>  "A123ab"

副作用

なし。

影響

なし。

例外

sequenceが正常なシーケンスでないとき、 型type-errorのエラーを通知する準備をしなければなりません。 new-sequenceが正常なシーケンスでないとき、 型type-errorのエラーを通知する準備をしなければなりません。

参考

replace

備考

なし。


TOP, Github