vector-push-extend

Title
vector-push-extend
Type
Function
Arguments
vector-push-extend NEW-ELEMENT VECTOR &optional EXTENSION
Package
lisp
Section
配列
File
builtin.l
ベクタ VECTOR に新しい要素を追加します。長さが足りなければ拡張します。
VECTOR はフィルポインタを持ち、かつアジャスタブルなベクタである必要があります。

  NEW-ELEMENT:新しい要素 
  VECTOR     :追加するベクタ
  EXTENSION  :拡張する時のサイズ増加量。
               デフォルトでは 64 増えます。

使用例:
  ;;; 文字を要素とする長さ10のベクタを作成し文字を詰める。
  (setq vec (make-vector 10 :element-type 'character
                            :fill-pointer 0 :adjustable t))
  => ""
  (vector-push-extend #\a vec)  => 0
  vec                           => "a"
  (vector-push-extend #\b vec)  => 1
  vec                           => "ab"

  ;;; 文字を要素とする長さ10のベクタを作成し文字を詰める。
  (setq s (make-vector 10 :element-type 'character
                          :fill-pointer 0 :adjustable t))
  => ""
  (dotimes (i 20 s)
    (vector-push-extend (code-char (+ 64 i)) s)
    (vector-push-extend (code-char (+ 64 i)) s)
    (vector-push-extend (code-char (+ 64 i)) s))
  => "@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSS"
Seealso
vector-push
adjustable-array-p
fill-pointer
vector