Go to the first, previous, next, last section, table of contents.

ベクトル

ベクトルは、(どんな Lisp オブジェクトでも指すことのできる)ポインタを要素とする 配列です。ベクトルのシンタックスに関しては、セクション 2.6.2 [ベクトルタイ プ]、ページ 14 を参照して下さい。

例えば、

      [1 tho '(three) "four" [five]]
      => [1 tho (quote (three)) "four" [five]]

(他のオブジェクトから)ベクトルを作る関数が与えれれています。 append 関数は、ベ クトルをリストに変換するのに用いることができます(セクション 6.2 [append]、ペー ジ 51 参照)。

Function: vectorp object

この関数は、オブジェクトがベクトルの場合 t を返します。

  (vectorp [a])
  => t
  (vectorp "asdf")
  => nil

Function: vector &rest objects

この関数は、 objects からなるベクトルを返します。

  (vector 'foo 23 [bar baz] "rats")
  => [foo 23 [bar baz] "rats"]
  (vector)
  => []

Function: make-vector integer object

この関数は、全て(の要素)を object に初期化した integer 個の要素からなるベ クトルを(新しく)返します。

  (make-vector 9 'Z)
  => [Z Z Z Z Z Z Z Z Z]

Function: vconcat &rest sequences

この関数は、アーギュメント sequences の(全ての)要素からなるベクトルを返し ます。この sequences はリストであっても、ベクトルであっても、ストリングで あってもかまいません。

新しいベクトルは(常に)、既存のベクトルと eq ではありません (最後の例を参 照)。 sequences が与えられない場合、empty ベクトルを返します。

1 つの機能として、 sequences の 1つが (integer のシーケンスではなく) 1 つ の integer であるという (特別な)場合、 (まず)それをその integer の 10進 print 表現である (digit の) ストリングに変換します。以下に示す 2 番目の例 において、数字 123 は 3 つの digit に分割されます。文字 `1' に対する ASCII 値は 49 です。

連結(訳注:concatenation)を行なう他の関数に関しては、セクション 12.2 [mapconcat]、ページ 99、セクション 5.2 [concat]、ページ 42、とセクショ ン 6.2 [append]、ページ 51 を参照して下さい。

  (setq a (vconcat '(A B C) '(D E F)))
      => [A B C D E F]
  (vconcat [A B C] 123 "45" '((6 7)))
      => [A B C 49 50 51 52 53 (6 7)]
  (vconcat)
      => []
  (eq a (vconcat a))
      => nil


Go to the first, previous, next, last section, table of contents.